碳循环平台设计

时间:2022-05-25 05:52:03

碳循环平台设计

1引言

陆地生态系统碳循环已成为地球系统科学和全球变化科学的前沿问题,是人类调节全球变暖进程和维持可持续发展的基础[1]。碳循环模型是模拟生态系统,估计和预测不同尺度碳收支格局和变率的重要手段[2]。随着碳循环研究的深入和计算机技术的进步,碳循环模型也在不断发展,主要包括经验模型、过程模型和遥感参数模型。不同的碳循环模型在操作系统、软件需求、编写语言、数据格式等方面存在着较大差异,传统单机的碳循环模型研究将模型、数据和人力资源部署在本地机器上[3],使得模型的共享和重用难度较大;同时,随着碳循环研究向区域化和全球化转变,模型的数据量呈指数增长[4],需要消耗大量时间与计算资源[5]。从而使碳循环模型的应用仅限于专业研究人员,制约了碳循环模型的发展和推广应用。网络处理服务(WebProcessingService,WPS)是开放地理信息联盟(OpenGeospatialConsorti-um,OGC)于2007年制定的用于和共享处理服务的标准[6],其定义的通用接口(GetCapabili-ties、DescribeProcess、Execute,如图1)通过网络为客户端提供一系列GIS操作的服务调用接口,允许客户端XML/GML通信编码方式执行程序,从而实现从简单空间分析操作到复杂全球气候变化模型计算的多种功能[7],使人们可以、发现和调用地理空间相关的处理服务,实现分布式模型的共享与整合[3]。WPS标准可整合WMS(WebMapService,网络地图服务)、WCS(WebCoverageService,网络栅格服务)和WFS(WebFeatureService,网络要素服务)等分布式数据资源,支持服务之间或服务与应用(如GIS软件和科学工作流)的组合与编排,实现模型的耦合、比较验证和整合[8]。该标准已在地理学[9]、环境科学[10]、水文学[11]、遥感科学[12]等领域得到应用,推动了相关领域模型的发展、共享与重用。因此,利用WPS标准构建碳循环模型服务平台,克服传统的碳循环模型中数据处理量大、运算复杂、互操作性差、难以推广等问题,实现模型的跨平台使用、共享、重用与组合,促进碳循环模型的发展和应用,具有重要意义。本研究旨在遵循OGCWPS标准,设计并建立一个碳循环模型服务平台,探讨碳循环模型服务的具体实现方法,实现碳循环模型服务的、共享与重用、模型服务的管理以及结果可视化等功能;以遥感参数模型VPM(VegetationPhotosynthesisModel,植被光合模型)服务链为应用实例,详细介绍了碳循环模型WPS服务封装,与调用的具体流程,展示了该服务平台的作用和特点,为进一步增加模型服务种类、完善平台建设等工作提供基础。

2模型服务平台的整体架构设计

碳循环模型服务平台是对各类碳循环模型相关的数据资源和模型程序进行存储、管理、查询和调用的计算机应用系统,实现碳循环模型运行环境,由传统单机模式向网络服务模式的转变,为科研人员和公众提供站点、区域到全国尺度的碳循环在线模拟。其主要功能包括碳循环异构数据的存储、、调用与在线处理,多种模型的统一管理、标准化封装和在线运行,各类数据和模型服务的注册、管理与查询,模拟结果的可视化、分析与下载。为了实现上述功能,本研究以OGCWPS标准设计面向服务架构(ServiceOrientedArchitecture,SOA)的碳循环模型服务平台,该架构具有松耦合特征,资源通过标准化服务的方式集成[13],便于平台扩展、维护与升级。平台由3个层次组成(图2),包括数据层、服务层和应用层。(1)数据层:将具有多源、异构、海量特点的碳循环数据与多种碳循环模型进行统一管理,由文件数据、数据库、模型库,以及数据和模型的元数据库组成,为服务层提供数据和模型程序并存储其元数据信息。其中,数据包含通量数据、气象数据、遥感数据、GIS数据等;站点尺度上有光合呼吸模型、区域尺度上有VPM模型、全国尺度上有CEVSA模型。数据和模型可部署在本地或局域网中,也可来自远程服务器,空间数据可通过WMS/WCS/WFS方式获取。(2)服务层:是碳循环模型服务平台的主体,接收应用层的请求,使用数据层的数据和模型资源,运行各类服务并返回计算结果,起承上启下的作用。主要包括与数据层相对应的多种碳循环模型计算服务(如光合呼吸计算服务、区域GPP计算服务等)和相关的数据管理和分析服务(如数据查询、下载服务、空间数据处理服务、遥感植被指数计算服务等)及平台的服务注册中心。服务层提供数据服务和模型服务的、共享和调用功能,平台服务注册中心用来注册、管理和维护各类服务的元数据信息,提供服务查找和发现功能。(3)应用层:是整个平台的功能体现,既包括平台的基本功能,如数据查询下载,服务注册管理、调用及模拟结果可视化与下载,也包括多种服务组合方式实现的多尺度碳循环模拟的专业领域应用。用户可通过各种客户端(浏览器、应用软件或程序)调用数据、模型和服务资源,实现数据层与服务层的有机整合。本研究主要使用浏览器客户端实现上述功能,用户可通过网页输入信息,浏览器依据Web协议提交后台处理。

3碳循环模型服务平台实现

碳循环模型服务平台的实现,主要包括软硬件环境搭建,数据库的建立与维护,数据处理与模型程序的开发,数据和模型服务的封装,服务的调用、组合和重用,服务注册管理系统的建立,用户界面的设计和编写等。其中各类数据和模型服务的开发、封装、调用和组合是平台实现的核心。

3.1软件环境的搭建平台基于Linux操作系统设计与开发,数据和模型服务采用分布式存储,所用软件均为开源。其中,模型程序编写语言为Python;数据库使用MySQL;模型服务封装使用PyWPS,空间分析服务源于GIS软件GRASS,数据服务利用Mapserver,所有服务通过Apache服务器部署;空间结果可视化使用OpenLayers包,异步交互由Jquery框架实现。

3.2平台服务的实现

3.2.1碳循环模型(算法)的WPS实现(1)模型开发模型开发通常采用两种方式:由上至下和由下至上。其中,由上至下方式是预先设计好服务接口,再编写底层程序;由下至上方式是先根据需求编写程序,再生成接口描述信息。通常后者更加快速简单,但前者从整体上进行协调和规划,可更好地控制模型的开发过程。碳循环模型复杂并具有空间特性,其接口设计是关键环节,故本研究采用由上至下方式,根据碳循环模型的结构和功能预先定义接口,开发模型程序。由于Python语言具有简单易用、类库丰富、扩展性强等特点,GDAL(GeospatialDataAbstractionLibrary)工具包便于空间数据的栅格运算等处理,因此,本研究采用Py-thon和GDAL开发碳循环模型。(2)模型的WPS封装模型服务的和调用需遵循统一标准,本研究采用OGCWPS标准对碳循环模型进行封装,实现模型的共享、重用和组合。PyWPS(PythonWebProcessingService)是WPS1.0.0版本的开源执行框架,使用面向对象语言Python编写,目前,已经到

3.2版本,易于在Linux操作系统上安装,已在多个项目中成功应用[14]。PyWPS中每个WPS服务表示为一个WPSProcess类,WPSPro-cess类在初始化时定义服务的标识符、名称、摘要等参数,调用GetCapabilities接口时返回所有可用WPS服务的属性信息;类中服务的输入和输出根据服务接口和其数据类型设定,调用DescribeProcess时返回指定服务的输入输出接口类型和描述;WP-SProcess类的execute()方法根据接口信息得到输入参数,执行后台模型程序,返回输出结果。通过上述流程,PyWPS遵循WPS标准完成对模型程序的WPS封装。

3.2.2基于开源GIS软件的空间分析服务碳循环模型具有地理空间特性,在数据处理、模型运算和结果分析阶段需要使用空间分析功能,因此,本平台提供一系列空间分析服务。开源地理信息系统软件GRASS(GeographicResourceAnal-ysisSupportSystem)拥有超过350个功能模块,可以管理、处理、分析与可视化地理空间数据,易被其他应用程序调用,在全世界被广泛应用。本研究将基本功能模块进行组合后,封装为WPS服务,空间插值、缓冲区分析、视野分析、流域累计等一系列空间分析服务。图3表示的是基于GRASS的缓冲区分析服务实现的流程,将GRASS缓冲区分析与数据读写等模块组合后进行WPS封装,调用时WPS服务获取客户端传入的GML输入数据与相应的WMS地图服务,交给后台模块分析,结果GML文件通过WPS服务的输出接口返回客户端。通过调用GRASS平台的一系列空间分析服务或服务组合,可进行碳模型数据预处理和结果分析。在GRASS模块的组合封装过程中,需考虑服务粒度平衡的问题。服务粒度过小会降低服务使用的便利性,如将每个模块都封装成WPS服务,执行一个空间分析功能可能要调用数个WPS服务;而过于复杂的模块组合,会严重影响到服务的重用性。因此,在空间分析服务封装过程中,要权衡服务的便利性和重用性。

3.2.3服务管理、应用与组合(1)服务管理与注册服务注册中心是平台对数据服务和模型服务进行管理的子系统,用于存储、调用和维护各类服务,对服务库进行组织、管理和操作。注册中心记录服务的元数据信息(包括服务的标识符、功能描述、输入输出接口及地址等),采用数据库方式对服务进行统一管理,具有添加、删除、修改等静态服务管理功能和查询、调用、分析等动态服务应用功能。平台的各类服务,利用WPS的GetCapabilities和DescribeProcess方法动态地添加到服务注册中心。(2)服务应用服务的与调用需要Web服务器和客户端的支持。客户端是用户请求数据和调用碳循环模型服务的人机交互界面,用户可以通过不同客户端向服务器请求GetCapabilities、DescribeProcess和Execute方法来查询服务列表、查看服务接口信息并传递参数执行处理服务。用户界面的主体是模型运算过程的可视化,鉴于碳循环模型的地理空间特性,WebGIS是实现模型服务可视化的最佳解决方案。OpenLayers是实现WebGIS的JavaScript程序包,可将OGC服务的地图数据加载到基于浏览器的OpenLayers客户端中显示。Mapserv-er是空间数据和交互式地图的开源平台,支持多种OGC标准,通过配置Mapfile文件,允许用户和使用数据,可作为WMS/WCS/WFS服务器。因此,本研究以OpenLayers为WebGIS界面,Mapserver为地图服务器;在Apache服务器中配置PyWPS,实现WPS模型服务的、共享和重用;以浏览器为客户端,使用脚本语言JavaScript,设计用户界面与服务器进行交互,调用WPS服务,为缺乏服务调用知识背景的用户提供简单、直观、方便的服务使用途径。浏览器客户端向WPS服务器请求DescribeProcess方法解析输入接口,再请求Execute方法传递数据并执行模型服务;根据空间结果数据属性自动配置Mapfile文件,通过Maps-erver为WMS服务;WMS加载于OpenLayers中,完成结果可视化。用户体验度直接影响碳循环模型服务平台的可用性。由于碳循环模型具有数据量大、计算复杂的特点,运行时间较长。以浏览器为客户端时,同步调用方式会影响用户体验,降低服务可用性。异步调用可无需等待被调服务的返回值就让浏览器上的操作继续进行,WPS支持服务异步调用[15]。AJAX(AsynchronousJavaScriptAndXML,异步JavaScript和XML)技术可通过在后台与服务器,进行少量数据交换使网页实现异步更新,因此,本研究利用其实现浏览器对服务的异步调用。执行时应用Jquery的AJAX库,包括请求地址、请求方式、预期返回的数据类型、发送到服务器的数据和请求成功后的回调函数。通过异步调用方式,减少了浏览器和服务器间的交换数据,解决响应超时问题,使该平台的用户体验度得到了提高。碳循环模型服务运行时间较长,所以在异步调用中,要同时对服务状态进行监控。本研究在程序封装时添加状态信息,作为服务器的响应传到客户端,当状态改变时浏览器进行异步更新,满足状态监控的需求。(3)服务组合和其他客户端调用服务实际应用时,通常调用不止一个服务,如模型数据处理服务和模型计算服务,因此服务组合是碳循环模型服务平台的重要功能。服务组合能促进服务重用,通过服务组合可产生新的服务,使平台功能得以灵活扩展。

用户可根据科学问题,将小粒度服务组合成服务链,赋予其科学含义。用户不需了解服务的具体结构,只关注服务的编排组合,实现所需功能。服务组合能够扩展碳循环模型服务平台的应用范围,有效降低平台使用的复杂性。除该平台所应用的浏览器客户端外,还有许多应用程序支持服务调用。网络服务是自包含、自描述、模块化的,应用程序不需要了解其具体内容,就可以使用其提供的功能[16]。例如,科学工作流是用来实现服务组合和编排的一种有效的平台。目前,比较典型的科学工作流系统,包括Kepler,Taverna和Triana等,都支持对服务的调用[17],在这些工作流管理系统中可以方便地完成各种服务的组合,满足更为复杂的科研需求,图4显示的是利用Taver-na对模型服务平台中的服务进行调用的例子。用户还可在自己编写的程序中嵌入服务调用,实现4平台的应用实例———VPM模型服务链

4.1模型与数据准备VPM模型是估算GPP(GrossPrimaryPro-ductivity,总初级生产力)的遥感参数模型[18],是构建碳循环模型服务平台的重要组成部分。其主要特点是将冠层分为两部分:光合有效植被(主要为绿色的叶子)和非光合有效植被(主要是衰老叶、枝和树干)。由于非光合有效植被对冠层FPAR的估算影响较大,因此,VPM模型将FPAR分为两个组成部分,即光合有效植被吸收的PAR(FPARPAV)和非光合有效植被吸收的PAR(FPARNPV)。其模型形式如下:GPP=εg×FPARPAV×PAR(1)εg=ε0×Tscalar×Wscalar×Pscalar(2)式中ε0为最大光能利用率,FPARPAV为光合有效植被吸收PAR的比率,Tscalar、Wscalar、Pscalar分别表示温度、水分、物候对植被光能利用率的影响系数,Tscalar应用TEM(TerrestrialEcosystemModel)模型中的方程计算;Wscalar通过水分指数LSWI求得;Pscalar在叶子未完全展开前等于(1+LSWI)/2,而完全展开后其取值为1。FPARPAV通过与植被指数EVI的线性关系估算。模型的详细描述参见文献[18]。图5表示的是VPM模型的计算流程,原始数据包括遥感数据和气象站点观测数据,其中遥感数据来自MOD09A1-500m8天合成地表反射率产品,气象数据来自全国气象台站,植被分类数据是MODIS全球土地覆盖数据产品(2000年)。VPM模型具有数据多源、步骤复杂、运算量大等特点,将VPM模型及相关的数据处理方法封装为WPS服务能够降低使用难度,提高使用效率。

4.2模型服务链根据VPM模型的计算流程,将模型运算过程分解为3个原子服务———遥感数据处理服务、气象数据空间插值服务和GPP计算服务。3个原子服务形成VPM模型从数据预处理到结果运算的完整服务链。同时,各原子服务可被其他服务链或应用程序调用,体现服务的可重用性和灵活性。遥感数据处理服务和气象数据空间插值服务应用于数据预处理阶段。遥感数据处理服务采用由上至下方式,应用Python和GDAL从底层开发,空间插值服务基于GRASS软件,对GRASS的空间插值算法(如反距离权重等)模块进行开发封装。通过调用遥感数据处理服务和气象数据空间插值服务进行数据预处理,获得VPM模型GPP计算服务的输入数据,包括遥感数据EVI、LSWI和空间气象数据PAR和Ta。各原子服务的接口设计是进行开发和封装的关键。其中,遥感数据处理服务的输入接口为原始遥感数据文件,输出接口为结果栅格数据的WMS地址;气象数据空间插值服务的输入接口为记录气象站点位置和属性值的矢量数据文件,输出接口为结果栅格数据的WMS地址;GPP计算服务的输入接口为各输入数据的WMS地址,输出接口为结果栅格数据的WMS地址。为了使用户界面的输入简单、清晰、易懂,根据VPM模型空间输入数据的特点(每八天一幅),本研究为GPP计算服务设置两个参数year和eight,分别代表数据年份和其所属的第几个八天。后台根据客户端传入的参数查找相应数据对应的WMS地址,作为服务输入。各根据接口定义,使用Python和GDAL编写VPM模型算法;通过PyWPS完成模型WPS封装、模型服务部署和网络;利用OpenLayers和Mapserver进行浏览器客户端用户界面设计和制作,如图6,界面中包括设置模型参数、模型运算与结果下载按钮、图层和图例,以及WebGIS窗口,用户通过此界面设置模型参数运行模型,采用AJAX实现的异步方式进行模型调用和状态监控,模型结果和图例会动态可视化在界面中,提供结果下载功能;模型结果可作为空间分析服务的输入,对其进行深入的分析研究。

5结论

为解决碳循环模型数据量大、运算复杂、互操作性差、难以推广等问题,本文以OGCWPS标准,设计并初步实现了一个碳循环模型服务平台,提供模型服务、管理、调用等功能;编写浏览器客户端界面供用户使用服务、查看并下载结果,加入异步调用、状态监控等功能提高模型服务平台的可用性;并以VPM模型为例,实现了平台中模型的接口设计、开发、WPS服务封装,以及相关模型服务的、调用和组合,有助于VPM模型的共享与重用。但碳循环模型种类较多、运算量较大,本研究应用的模型相对简单,未考虑模型运算效率问题。在当前的碳循环模型服务平台基础上,集成更多复杂的模型并实现模型的并行化运算,将是下一步的研究方向。

上一篇:增强煤企统计工作的思索 下一篇:二阶差坡度算法分析