论文部分内容阅读
水文过程是诸多因素相互作用的结果,自然资源的管理决策需要多学科的集成支撑,管理者要在制定决策前确定环境基本情况和政策应用于环境影响或者变化,这一过程的原理简单但是过程却很复杂。水文模型,是用数学语言或物理模型对现实水循环系统进行刻画,并在一定的条件下对水文变量的变化进行模拟和预报。
单一水文模型通常侧重水循环系统的其中一个或几个物理过程,而另外一些过程则被轻视,使得某一水文模型通常仅适用于某一流域或者某一研究区。尽管我们已经开发出许多的模型,但是这些模型通用性、可移植性差,对模型用户的学习过程要求高,开发出来的模型都仅应用在特定试验区内。面对新问题时,没有合适模型或者模型未在试验区得到验证或应用情况下,如何得用现有有数据、模型等资源进行研究和应用是当前水文模型研究的一个重要问题。需要建立一种快速高效的模型学习、开发、分析及应用的软件环境,集成建模环境则是解决这种问题的一种技术方案。
本研究设计出一种基于元信息实现模型组件自解释功能的集成建模环境,基于的建模环境软件系统由数据输入输出,模型/组件库,控制组件,模型运行,模型分析五部分组成。模型库中保存模型或者组件供建模使用,新开发的模型或者组件同样可以加入到模型库当中。建模时,将组件从模型/组件库中提取出,进行组装,生成模型文件;然后加入所需输入数据、参数以及情景条件,模型就可以运行并生成模拟结果。
组件是模型拆分后的一个物理过程的计算单元,其中包含初始化,运行,清理三个基本的函数过程。每个组件内定义了若干属性项,这些属性项是组件中函数的操作对象,对属性项的值进行读/写,属性也是组件与其它组件的交互媒介。每个属性的类型由属性类型库定义,包括整形、浮点型、文件类型等等。
对于建模环境中的模型组件间的数据交换问题,研究中设计了一种过程控制组件。每个过程组件管理一个属性列表,所有添加在该控制组件下的组件都将其属性注册入控制组件的属性列表中。组件需要对属性进入操作将直接向过程控制组件的属性列表发出请求。这样的设计使组件具有更高的灵活性,组件的读写操作将不需要知道输出数据的提供者与输出数据的接收者,只需考虑自身的计算过程即可,计算完成后将结果写入到控制组件所管理的属性列表中相应属性项;其它组件运行所需某数据时,直接向控制组件申请,从属性列表中读取即可,也无需知道这个数据由谁提供由谁产生。模型组件间没有直接数据交换。
模型组件实现了自解释功能,即不需要阅读组件开发合适的源码或者写专门的组件说明文档,而通过简单的关键字或者信息提取便可以了解组件的数据需求、组件功能等建模过程所需的信息。这一功能的实现是通过在组件开发时加入元信息,在组件编译时生成一个XML文件而实现的。XML文件格式化的保存了组件开发者、数据需求、版本、组件功能等建模时需要的信息。对于从其它建模环境中移植的组件,同样在进行格式化封装的时候附加一个XML文件来实现自解释功能。
本建模环境开发中加入了TopModel模型和Noah LSM模型来进行试验,以验证本建模环境的设计以及数据传递机制的正确性。单模型模拟验证中,TopModel使用Beven等开发的TMod9701版本所带Slapton Wood流域数据和陈仁升等对黑河上游山区径流模拟所用数据;Noah LSM模型试验使用Kenneth Mitchell等开发的NoahLSM2.7.1版使用的Champaign,Illinois地区数据。试验的结果证明了本建模环境软件模型运行、数据传递机制的正确性。
基于当前的研究,下一步的研究工作中对集成建模环境的扩展功能以及与流域管理的决策支持系统进行更紧密结合,并将在集成建模环境中开发和使用更多有代表性的流域水文模型。