内陆河研究e-science中的空间建模与模拟环境分析张耀南中国科学院寒区旱区环境与工程研究所甘肃省高性能网格计算中心yaonan@lzb.ac.cn提纲内陆河研究的背景水文-生态研究的主要过程两个空间建模环境的分析与应用空间建模与模拟环境遵从的原则一、内陆河研究的背景黑河流域位置图13万km2黑河源于青藏高原北缘的祁连山区,北流穿越河西走廊,阿拉善高原的戈壁,沙漠,止于居延泽。流域面积约13万k㎡,涉及青海,甘肃和内蒙古3省。基本背景黑河干流山区流域位于甘肃河西走廊中段,流域内景观垂直分布明显,海拔4500m以上为永久冰川积雪带,以下依次为高山草甸与灌丛、山间盆地、中山森林和中山草甸草原带。上游山区径流产、汇流区,中游山前平原灌溉农田绿洲区和下游天然荒漠绿洲径流散失区形成了不同的水循环和生态系统。黑河流域研究的科学问题上游,山区径流形成过程和变化与水源地生态保护;中游,水资源-经济-生态系统的平衡与社会化管理;下游,水量耗散、盐分积累和天然荒漠绿洲的保护与恢复。黑河流域的综合集成研究依赖于对上、中、下游的科学问题进行深入研究。生态水文实验观测体系荒漠植被带山前绿洲带山区植被带冰雪冻土带ENVIS环境观测试验——观测点的布设布设位置:野牛沟气象站布设时间:2004年9月至今冰雪冻土带观测试验山区植被带观测试验布设位置:阳坡草地观测期:1998年10月-1999年11月布设位置:水涵所气象站观测期:2001年8月-2002年5月布设位置:林旁草地观测期:2002年6月至今布设位置:林旁草地布设时间:2002年6月至今山区植被带观测试验山区植被带观测试验TDR水分测定张力入渗仪测定非饱和水力传导度植被调查山前人工绿洲带观测试验山前人工绿洲带观测试验——芦苇种群个体间的水分共享下游荒漠植被带观测试验二、水文-生态研究的主要过程黑河模型集成工作的功能划分与相互关系以分布式水文模型为基础的表层过程建模集成研究生态经济研究过程的PLM模型简介生态演替地表水质和水量水位深度植物增长和健康斑块和栖息地健康污染物吸收能力土地利用变化模式人口动态道路和通讯点源和非点源污染农业实践经济模块生态模块自然承载力和生态系统服务估值人类价值集合经济发展影响生态系统生态因素影响经济决策生态演替地表水质和水量水位深度植物增长和健康斑块和栖息地健康污染物吸收能力土地利用变化模式人口动态道路和通讯点源和非点源污染农业实践经济模块生态模块自然承载力和生态系统服务估值人类价值集合经济发展影响生态系统生态因素影响经济决策(Voinov和Costanza,2004)PLM模型的模块()涉及其他试验研究区域大气模式与水文模型的耦合黑河流域NPP时空变化和驱动力模拟研究黑河流域SVAT系统观测和模拟SHAW模型在黑河山区植被带的应用黑河流域不同景观带植被和碳储存能力及其与水资源的关系研究中的模型组成需要构建冰川、冻土、积雪、植被、地下水模块需要模块整合构建模型需要模型相互耦合需要单个模型和耦合模型的集成需要构建分析和支持工具三、两个空间建模环境的分析与应用SME模块建模环境(fromLeavesley,etal,1983)PRMSNationalWeatherService-Hydro17TOPMODELIntegratedWatershedModelPRMS/MODFLOW/DAFLOWPRMS(降雨径流模型的构造)Predictionsoftherunoffcompositionbymodified-PrmsatYingLuocanyon(1997~2000)WEBMODEL2模型的构造SME空间建模与模拟环境主要应用程序MCP、CGP、Driver结构图4SME整体架构模块构造器MCP(ModuleConstructor)它的主要作用是把STELLA用图形建模建成的一个个子模块单独进行分析,然后耦合成一个整体模型。MCP结合STELLA方程式文件分析所生成的词法和语法分析程序,以及model.cc程序编译作为模块构造器。model.cc程序的主要功能是:(1)构建SME应用数据包,Models文件作为xml文件、MML(modularmodelinglanguage)文件和eqns输入文件的目录;(2)为SME应用数据包config目录中生成配置文件;(3)为SME应用数据包UserCode目录中生成用户功能注册文件(UserFunctionRegistrationfile)。模块对象层级(Module-objecthierarchy)ModelObject处理执行任务的最高级控制器ModuleObjectModule对象处理一套Variable对象VariableObject每个Variable对象有内在的数据结构(IDS),在模拟期间可以被改变FrameObjectFrame对象包括一个模块的拓扑规范,通过一组point对象和单元连接,包含了向/从其它Frame中传递/转换数据的方法。ExternalObjectsExternal对象经常被用于SME外部代码封装代码生成器CGP(CodeGenerator)利用SMML制定的单元模型来生成描述空间模型的C++代码主要功能(1)从SME命令行接口读取应用程序配置;(2)配置ExternalObjects;(3)创建新的模块;(4)从MML文件设置域fields(一组元素,进行加法和乘法两种运算,乘法运算需分配于加法之中);(5)读取事件event;(6)在配置文件内写入数据;(7)生成模块代码。模拟驱动SimulationDriver几何学对象:保持框架(frame)目录和处理相关空间模拟配置的所有任务,如在框架(frame)和网络对象之间传输/传递数据。网络对象:在处理器和模拟主机上处理通信。由MPI消息传递接口标准来执行(MPI,1995)。接口对象:菜单驱动程序接口方便用户控制模拟以及模拟输出的实时显示。提供给用户一个单一熟悉的环境。文件对象:以HDF格式处理模拟输出存档。PointGridLibrary它执行一组分布式的由消息传送链接的C++对象。主要的驱动程序组件包括:应用程序对象。导入对象和数据几何学对象网络对象接口对象文件对象模块类框架(frame)类变量类:SME用户接口SME用户接口采用tcl/tk脚本语言(Tcl/Tk,1996)来开发。在SME/tclshell环境里,用户能够创建工程,定制SME,运行不同的SME子应用程序。开发了三个菜单驱动tcl/tk应用:配置驱动和代码生成器,控制模拟,和可视化模拟输出,在MML中建立模块。SME建模流程单元模块开发创建工程模块构造数据集代码生成和配置模拟运行输出分析Stella建模环境人口与自然资源模型结构设计时间设计内陆河流于中的实验UnitModeldevelopmentProjectcreationOutputanalysisModuleconstructionSimulationrunCodegenerationDataassembly内陆河流域中的实验自然模块气候因素:降雨、温度、湿度、风速、太阳辐射(Nikolov和Zeller,1992)辅助变量:日长、儒略日(JulianDay)等水文模块雪/冰(SNOW_ICE)地表水(SURFACE_WATER)不饱和层中的水(UNSAT_WATER)饱和层中的水(SAT_WATER)营养模块地表的氮和磷(n_SF)不饱和层中的氮和磷(n_US)饱和层中的氮和磷(n_SD)这里n=N或P植物增长模块光合作用生物量(PH)非光合作用生物量(NPH)生物时间(Bio_time)腐殖质模块稳定的腐殖质(STAB_DETRITUS)不稳定的腐殖质(LAB_DETRITUS)经济土地利用转化模型整个经济土地利用转化模型分两个阶段(Bockstael,1996;Bockstael和Bell,1997)第一阶段估计不同用途地块的价值第二阶段确定影响土地利用转化的因素并估计转化函数的参数两阶段模型中的参数估计出来之后,就能得出景观中不同地块转化的相对可能性模型运行与结果输出四、空间建模与模拟环境遵从的原则空间建模与模拟环境应支持基于图型单元的模块开发模块库的建立与模块复用多个空间模块集成分布式计算基于WEB的建模与模拟远程配置、控制、模拟、可视化数据访问与可视化实时连接其他应用谢谢!