掌桥专利:专业的专利平台
掌桥专利
首页

基于云服务的CALPUFF模型模拟结果可视化的方法

文献发布时间:2024-04-18 19:59:31


基于云服务的CALPUFF模型模拟结果可视化的方法

技术领域

本发明属于大气环境影响评价领域,具体涉及基于云服务的CALPUFF模型模拟结果可视化的方法。

背景技术

CALPUFF(California PuffModel)是美国国家环保署(US EPA)长期支持开发的法规模型。作为三维非稳态拉格朗日扩散模型系统,CALPUFF与传统的稳态高斯扩散模型系统相比,适用于五十公里至几百公里尺度范围内的大气污染物的排放、扩散、转化和沉降模拟。我国于2008年发布的HJ2.2-2008技术导则中以推荐模式清单的方式引进CALPUFF。近年来该模型被广泛地应用于国内的针对中性/轻质气体扩散模拟的环境评价项目中并获得良好的认可。

关于CALPUFF模型模拟结果的可视化展示,国内的有关专家和学者已经取得了一些有意义的成果。伯鑫等人的《CALPUFF动态可视化系统的开发与应用研究》中利用VisualBasic调用Golden Software Surfer软件实现CALPUFF模型模拟结果的可视化,并利用JavaScript代码实现动态可视化展示。邬群勇等人的《CALPUFF模型模拟结果的时空多维可视化表达》中采用与组件式GIS技术紧密集成的方案,并结合Windows呈现技术(WindowsPresentation Foundation,WPF)获得CALPUFF模型模拟结果的时空多维可视化表达。石晓飞等人的《一种CALPUFF模型模拟结果可视化的方法》(授权专利号CN108595456A)通过Adaptive Vision Software(AVS)Express平台读取经过Java开发的NetCDF准备文件以生成静态或动态模拟结果的可视化展示。

现有技术中的这些研究在实现CALPUFF模型模拟结果的可视化展示过程中均选择基于Windows操作系统的开发环境,并且所采用的Surfer、AVS Express均为付费的商业软件。此外,仅能通过单独的计算机本地端或计算机所在的局域网内免费访问可视化结果展示,涉及能增强用户体验且便捷高效的云端可视化展示则需要支付费用,增加可视化展示成本。

发明内容

针对现有技术中存在的不足,本发明的目的在于提供基于云服务的CALPUFF模型模拟结果可视化的方法,能够实现CALPUFF模型模拟结果的云端可视化展示,并且可视化展示中涉及到的地图坐标系可以兼容以degree为单位的经纬度坐标和以meter为单位的UTM坐标。可视化展示中的颜色色条可以灵活设置,既可以选择公开的代码库函数也可以自行定义,使得可视化效果不会受到模型计算出的污染物浓度数值过小而呈现单色展示的局限性影响。由于方法中利用成熟的云服务技术发布App应用以便捷高效地获取在线可视化展示,不囿于Windows操作系统,还扩展到Linux操作系统。在有互联网接入的前提下,任何时间任何地点使用任何一款Web浏览器访问云端App应用的URL链接,相应的可视化展示即可免费呈现于浏览器的网页中。

为达到以上目的,本发明采用的技术方案是:基于云服务的CALPUFF模型模拟结果可视化的方法,所述方法包括以下步骤:

S1、根据模型输入数据,通过CALPUFF模型模拟大气污染物浓度场;

S2、根据大气污染物浓度场数据进行大气污染物浓度烟羽扩散可视化;

S3、利用免费、开源的Web开发框架执行封装的烟羽可视化代码,并对外提供URL访问链接。

进一步,所述模型输入数据包括基于中尺度气象模型生成的中尺度数据文件、融合地形及土地利用的静态地理数据文件、探空气象数据文件、地面观测数据文件、降水数据文件、诊断网格风场数据文件及地形权重因子文件。

进一步,步骤S1包括以下子步骤:

S11、利用模型输入数据生成网格小时气象数据;

S12、根据网格小时气象数据生成模拟大气污染物浓度场;

S13、针对模拟大气污染物浓度场进行包括统计分析及格式转换的后处理,生成大气污染物浓度场网格数据。大气污染物浓度场网格数据的数据格式类型可以选择DAT、CSV、GRD或者ASC。

进一步,步骤S2包括以下子步骤:

S21、读取经过数据格式转换的大气污染物浓度场网格数据,其结果为栅格数据。

S22、利用公开的HTML Widgets创建Leaflet基础地图组件,在Leaflet基础地图组件中添加特定地图图像元素及图层瓦片;

S23、在特定地图图像元素及图层瓦片中添加基础GIS信息要素;

S24、在特定地图图像元素及图层瓦片中添加具备地图投影坐标系信息的栅格数据图层,具备地图投影坐标系信息的栅格数据图层中包含大气污染物浓度呈现烟羽扩散的信息。

进一步,步骤S21中在所述栅格数据中添加地图投影坐标系信息。

进一步,步骤S21中所述地图投影坐标系信息一般包括UTM(UniversalTransverse Mercator通用横轴墨卡托投影)和LCC(Lambert Conformal Conic兰伯特等角圆锥投影)。

进一步,步骤S22中所述特定地图包括行政地图以及卫星地图。

进一步,步骤S23中所述基础GIS信息要素包括以经纬度为坐标的污染排放源信息、环境敏感点信息以及所关注区域的边界廓线信息。

进一步,步骤S2还包括在具备地图投影坐标系信息的栅格数据图层上添加实现可视化效果所需的颜色色条。

进一步,步骤S3包括在服务器中部署免费、开源的Shiny Server,根据封装的烟羽扩散可视化代码,通过Shiny Server在线发布及管理Shiny App程序。

进一步,步骤S3中所述URL访问链接的基本组成包括公网IP地址、端口号以及Shiny App的应用名称。

本发明的有益技术效果在于:本发明公开的基于云服务的CALPUFF模型模拟结果可视化的方法,能够实现CALPUFF模型模拟结果的云端可视化展示,并且可视化展示兼容经纬度坐标和UTM坐标,可视化展示中的颜色色条可以灵活设置,利用成熟的云服务技术发布Shiny App应用以便捷高效地获取在线可视化展示,不囿于Windows操作系统,还扩展到Linux操作系统。

附图说明

图1为本发明实施例示出的基于云服务的CALPUFF模型模拟结果可视化的方法流程图;

图2为基于公开卫星图的某工业园区污染点源某污染物扩散烟羽可视化效果;

图3为基于公开行政地图的某工业园区污染点源某污染物扩散烟羽可视化效果;

图4为发布于华为云的基于公开行政地图的某工业园区污染点源某污染物扩散烟羽可视化效果(在线网址已做脱敏处理)。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步描述。

实施例一

如图1所示,本发明实施例提供基于云服务的CALPUFF模型模拟结果可视化的方法,所述方法包括以下步骤:

S1、根据模型输入数据,通过CALPUFF模型模拟大气污染物浓度场。

模型输入数据包括基于中尺度气象模型(WRF或者MM5)生成的中尺度数据文件3D.DAT、融合地形及土地利用的静态地理数据文件GEO.DAT、探空气象数据文件、地面观测数据文件、降水数据文件、诊断网格风场数据文件及地形权重因子文件。其中中尺度数据文件3D.DAT和静态地理数据文件GEO.DAT为模型输入数据中的必需数据,如果前述的模型输入数据中的后五种数据文件缺失,可以仅准备中尺度数据文件3D.DAT和静态地理数据文件GEO.DAT。

步骤S1中通过CALPUFF模型模拟大气污染物浓度场具体包括以下子步骤:

S11、配置CALMET.INP文件,利用模型输入数据中的中尺度数据文件3D.DAT和静态地理数据文件GEO.DAT执行CALMET气象模块数值计算,生成网格小时气象数据文件CALMET.DAT和输出日志文件CALMET.LST。

S12、配置CALPUFF.INP文件,利用网格小时气象数据文件CALMET.DAT执行CALPUFF扩散模块数值计算,生成模拟大气污染物浓度场数据文件CONC.DAT和输出日志文件CALPUFF.LST。

S13、配置CALPOST.INP文件,利用模拟大气污染物浓度场数据文件CONC.DAT执行CALPOST后处理模块数值计算,生成以GRD为后缀的大气污染物浓度场网格数据文件和输出日志文件CALPOST.LST。

S2、根据大气污染物浓度场数据进行大气污染物浓度烟羽扩散可视化。

S2步骤中实现烟羽扩散可视化的过程通过图层叠加而实现。

步骤S2中包括以下子步骤:

S21、读取以GRD为后缀的污染物浓度场网格数据文件,其结果为栅格数据。

S22、利用公开的HTML Widgets创建Leaflet基础地图组件,在Leaflet基础地图组件中添加特定地图图像元素及图层瓦片。

特定地图类型包括行政地图以及卫星地图,地图服务提供商可以选择高德地图、百度地图、腾讯地图、搜狗地图及其它。

S23、在特定地图图像元素及图层瓦片中添加基础GIS信息要素。

基础GIS信息要素主要包括以经纬度为坐标的污染排放源信息,环境敏感点信息,所关注区域的边界廓线信息。

S24、在特定地图图像元素及图层瓦片中添加具备地图投影坐标系信息的栅格数据图层。具备地图投影坐标系信息的栅格数据图层中包含大气污染物浓度呈现烟羽扩散的信息。

常见的地理坐标系如WGS84地心坐标系(也称大地坐标系),其坐标表现形式为经度、纬度;常见的投影坐标系如UTM(Universal Transverse Mercator通用横轴墨卡托投影)投影坐标系,其坐标表现形式为x、y,以及LCC(Lambert Conformal Conic兰伯特等角圆锥投影)。

在一种可选实施方式中,在具备地图投影坐标系信息的栅格数据图层上添加设置可视化效果所需的颜色色条,使得污染物浓度烟羽扩散可视化效果的单位数值直观明了。

设置可视化效果所需的颜色色条,以便绘图时自动将污染物浓度数值映射到颜色色条上。颜色色条可以选择公开的调色板函数自动生成,也可以自定义。推荐自定义颜色色条,因为其一个巨大优势是可以使得可视化效果不受计算出来的污染物浓度数值大小所影响,当污染物浓度很小时,可视化中的大气污染烟羽扩散也不会出现单色展示的情况。

基于公开卫星地图及公开行政地图(这里使用高德地图)的某工业园区污染点源某污染物烟羽扩散可视化效果分别参见图2和图3。图中网格的分辨率为500m X 500m(更高的分辨率可以通过网格加密实现),卫星地图及高德地图的切换可通过点击相应的单选按钮实现。取消“工业园区”勾选,地图中的基础GIS信息要素,包括工业园区的边界廓线及两个气球状的环境敏感点,会全部消失。取消“烟羽扩散”勾选,地图中的烟羽扩散可视化会全部消失。

S3、利用免费、开源的Web开发框架执行封装的烟羽扩散可视化代码,并对外提供URL访问链接。

利用公开的Web开发框架Shiny编写App程序并部署到云服务器。一种可以实现的方式是在服务器中部署免费、开源的Shiny Server。用户可以通过Shiny Server在线发布及管理Shiny App程序。Shiny App由两部分组成,一部分是旨在定义Shiny App外观的用户界面对象(User Interface Object),另一部分是旨在定义Shiny App是如何工作的服务端功能函数(Server Function)。这两部分被作为参数传递进功能函数“ShinyApp”中,计算机再根据这一对UI/Server生成一个Shiny App应用对象。

S2步骤中实现可视化的代码被封装进Shiny App服务端的功能函数中,封装的过程中使用到RenderLeaflet类函数及Observe类函数以便构建响应式输出对象。Shiny App程序中,用户选中控件(Widgets)的值即可以通过生成响应式输出对象在UI用户界面对象中实现交互显示效果。这里的控件是指包含诸如RadioButtons、SliderInput、CheckboxInput在内的能实现某种功能的公开控制组件。这里的值是指包含诸如按钮点击,滑动条的步进拖拽,复选框的勾选在内的对应于动作响应所预先定义的逻辑值、数字、日期或者日期时间。

用户可以选择租用搭配公网IP地址且安全性与合规性均能得到保障的公有云,例如华为云、腾讯云、阿里云、亚马逊云,用户还可以选择自建的私有云。所述的任意一种云平台均可以通过Shiny Server实现Shiny App后端服务和前端UI的交互。如果没有选择租赁付费云服务器,用户还可以选择将Shiny App部署于免费的在线shinyapps.io中。

无论Windows服务器还是Linux服务器均支持Shiny Server的安装及部署,有很多公开参考,这里不再赘述。

在有互联网接入的情况下,用户只需要使用任意一款Web浏览器访问部署于云服务器的Shiny App所对外提供的URL链接,即可实现对Shiny App的访问。Web浏览器的网页内会呈现出CALPUFF模型模拟结果的可视化效果。

其中,URL链接的基本组成包括公网IP地址,端口号以及Shiny App的应用名称。图4显示发布于华为云的基于公开高德地图的某工业园区污染点源某污染物烟羽扩散的在线可视化效果,为安全起见,左上角的URL链接中的公网IP地址已做脱敏处理,“3838”对应着端口号,“LDWpuff_1”对应着该Shiny App的应用名称。

通过上述实施例可以看出,本发明公开的基于云服务的CALPUFF模型模拟结果可视化的方法,通过CALPUFF模型模拟大气污染物浓度场,根据大气污染物浓度场数据进行大气污染物浓度烟羽可视化,利用免费、开源的云端Shiny Server执行封装了烟羽可视化的Shiny App应用,通过Web浏览器访问公开的URL链接来获取CALPUFF模型模拟结果的在线可视化展示。采用本发明中公开的方法,实现CALPUFF模型模拟结果的云端可视化展示,并且可视化展示兼容经纬度坐标和UTM坐标,可视化展示中的颜色色条可以灵活设置,利用成熟的云服务技术发布App应用以获取在线可视化展示,不囿于Windows操作系统,还扩展到Linux操作系统。

本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

技术分类

06120116521536