首页 / 专利库 / 地球科学 / / 飓风 / 风暴潮 / 一种可视化风暴潮-海浪耦合预报方法

一种可视化暴潮-海浪耦合预报方法

阅读:496发布:2020-05-16

专利汇可以提供一种可视化暴潮-海浪耦合预报方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 可视化 风 暴潮-海浪耦合预报方法,包括对气象部 门 发布的多线程数据进行爬取与解析,形成预报文本、图片及预测数据;将预测数据存入PostgreSQL 数据库 中,当产生数据增量时,数据驱动线程会向 风暴潮 -海浪耦合模式发送数据和启动命令,自动启动耦合模式的运行,风暴潮-海浪耦合模式运算完成后,对超算数据进行处理,并输出到可视化数据资源队列中;再通过基于Leaflet的粒子可视化方法以及栅格数据图层绘制方法,将最终的结果呈现在海洋球上。本发明所公开的预报方法可以实现自动化运行耦合模式,提高预报系统的效率,使预报结果更加直观和友好。,下面是一种可视化暴潮-海浪耦合预报方法专利的具体信息内容。

1.一种可视化暴潮-海浪耦合预报方法,其特征在于,包括以下过程:
(1)基于Scrapy框架对气象部发布的多线程数据进行爬取与解析,形成预报文本、图片及预测数据;
(2)将预报文本和图片采用Redis持久化存储方式存取,将预测数据存入PostgreSQL数据库中,当产生数据增量时,通过调用消息通知应用向手机客户端发送消息,同时数据驱动线程会向风暴潮-海浪耦合模式发送数据和启动命令,自动启动耦合模式的运行,并将预测数据作为驱动;
(3)风暴潮-海浪耦合模式运行时,风暴潮模式和海浪模式分量分别采用ADCIRC和SWAN,两个模式分量通过耦合器控制同时运行,并交换数据;
(4)风暴潮-海浪耦合模式运算完成后将超算数据输入到原始数据资源队列中,当数据预处理程序监测到原始数据资源队列不为空时,则启动数据预处理组件,对原始数据资源队列中的超算数据进行处理,并输出到可视化数据资源队列中;
(5)前端引擎通过获取可视化资源数据队列中的数据,再通过基于Leaflet的粒子可视化方法以及栅格数据图层绘制方法,将最终的结果呈现在海洋球上。
2.根据权利要求1所述的一种可视化风暴潮-海浪耦合预报方法,其特征在于,所述步骤(1)中的具体方法如下:在调度器中将信息爬取分为文本信息获取、图片信息获取、台风信息获取三个进程,并通过调度器实现各进程的有序进行,在下载器中实现网页的请求并返回框架能识别的文档内容,并将该内容发送至信息解析端,借助爬虫文档解析组件BeautifulSoup,依据数据特点,将网页结构拆解形成预报文本、图片以及预测数据。
3.根据权利要求1所述的一种可视化风暴潮-海浪耦合预报方法,其特征在于,所述步骤(3)中,模式运行时,ADCIRC模式的风场模读取台风或者热带气旋的强度和路径信息,用来计算模式的驱动风场,并且通过耦合器将计算出来的风场传递给SWAN模式,两者采用相同的风场驱动,ADCIRC模式的驱动场采用Jelesnianski的圆形台风模型。
4.根据权利要求1所述的一种可视化风暴潮-海浪耦合预报方法,其特征在于,所述步骤(4)中,数据预处理组件对原始数据资源队列中的超算数据处理的具体方法如下:
1)首先将队列中的数据分为要素数据和格点数据分别加载到内存,采用python中的pandas库对数据进行清理、合并和转换,最终形成只包含经度、纬度以及要素数据的csv格式文件,并存储到PostgreSQL数据库中;
2)再通过python中GDAL地理信息处理库中的gdal_grid应用,利用公式(1)对要素数据进行反距离加权算法插值计算,通过得到每一个像素点和选定控制点对的逼近关系,以及相对应的权重关系,求得像素点相对应的变化关系,进而将数据填充为格点化文件,形成持久化存储的tiff文件;
3)通过最小边界几何方法,计算csv文件中的散点数据凸的外包络面,并结合陆地地形数据文件,形成要素数据的边界shp文件;
4)将获取的tiff文件和shp文件输入到GDAL地理信息处理数据库中的gdalwarp应用,以shp文件为边界对所形成的栅格文件进行裁剪,形成最终所需要的区域栅格数据文件,将解析后的数据通过Redis文件数据库进行索引存储。
5.根据权利要求4所述的一种可视化风暴潮-海浪耦合预报方法,其特征在于,所述步骤(5)的具体方法如下:
1)对裁切形成的tiff文件中的矢量数据,基于GDAL地理数据处理库中的gdal_translate应用,提取文件中的格点信息,重组数据文件为ascgrid格式文件;
2)根据ascgrid网格数据中头文件信息确定Canvas图层与地图引擎的融合位置,包括数据量、网格起始位置和网格大小,从而确定网格的起始位置及画布的范围;
3)在已形成的画布上绘制矢量图层,首先在区域网格内随机初始化风粒子,每一个格点的粒子包含五个属性,粒子在球体上的经度和纬度,风的属性信息、波浪的属性信息,以及粒子的生命周期,初始化完成后,根据当前格点风和波浪方向的位置,确定下一个风或者波浪的位置,数据需要实时更新,并通过基于leaflet的VectorField可视化类绘制图形元素并逐步渲染形成数据图层;
4)对于标量图层则通过基于leaflet的canvasLayer可视化类,根据值的大小,实时渲染区域内的网格,借助开源的chroma.js色标组件,实时绘制图层色标,为加快图层的切换速度,形成流场动态展示效果,动画播放采用直接渲染好的tiff图层进行叠加,并存储在Cache缓存中,切换则通过React框架中的控制组件进行表现;
5)将形成的标量和矢量图层通过Cesium地图引擎的材质图层组件加载相关图层,实现标量和矢量图层在三维地球引擎上的叠加。

说明书全文

一种可视化暴潮-海浪耦合预报方法

技术领域

[0001] 本发明涉及一种风暴潮-海浪耦合预报方法,特别涉及一种可视化风暴潮-海浪耦合预报方法。

背景技术

[0002] 风暴潮与海浪都是在大气的驱动下产生的海洋过程,在近岸两者往往是同时产生且相互影响,当遇到极端天气例如寒潮或者台风时,两者很容易造成海洋灾害。在对风暴潮和海浪的预报中,数值模拟是非常重要的一个手段,但目前的数值模拟基本都是采用单一的海浪模式或者风暴潮模式,没有考虑风暴潮和海浪之间的相互作用。此外,目前的业务化风暴潮和海浪模式大都采用正交曲线网格,没有采用非结构网格,对复杂岸线的刻画不够精细。
[0003] 而且,在风暴潮和海浪业务化运行时,一般步骤是首先准备大气强迫场,之后是运行数值模式,最后对模拟结果进行分析和作图,整个流程基本是人工完成,自动化程度不高,严重影响预报效率,且对预报结果进行展示时都是采用平面分布图,展现形式不够直观和友好。
[0004] 因此,现有数值预报方法存在自动化程度和运行效率低、模式分辨率不够精细、物理机制不够完善且预报结果显示不够友好和直观的问题。

发明内容

[0005] 为解决上述技术问题,本发明提供了一种可视化风暴潮-海浪耦合预报方法,以达到实现自动化运行耦合模式,提高预报系统的效率,使预报结果更加直观和友好的目的。
[0006] 为达到上述目的,本发明的技术方案如下:
[0007] 一种可视化风暴潮-海浪耦合预报方法,包括以下过程:
[0008] (1)基于Scrapy框架对气象部发布的多线程数据进行爬取与解析,形成预报文本、图片及预测数据;
[0009] (2)将预报文本和图片采用Redis持久化存储方式存取,将预测数据存入PostgreSQL数据库中,当产生数据增量时,通过调用消息通知应用向手机客户端发送消息,同时数据驱动线程会向风暴潮-海浪耦合模式发送数据和启动命令,自动启动耦合模式的运行,并将预测数据作为驱动;
[0010] (3)风暴潮-海浪耦合模式运行时,风暴潮模式和海浪模式分量分别采用ADCIRC和SWAN,两个模式分量通过耦合器控制同时运行,并交换数据;
[0011] (4)风暴潮-海浪耦合模式运算完成后将超算数据输入到原始数据资源队列中,当数据预处理程序监测到原始数据资源队列不为空时,则启动数据预处理组件,对原始数据资源队列中的超算数据进行处理,并输出到可视化数据资源队列中;
[0012] (5)前端引擎通过获取可视化资源数据队列中的数据,再通过基于Leaflet的粒子可视化方法以及栅格数据图层绘制方法,将最终的结果呈现在海洋球上。
[0013] 进一步的技术方案中,所述步骤(1)中的具体方法如下:在调度器中将信息爬取分为文本信息获取、图片信息获取、台风信息获取三个进程,并通过调度器实现各进程的有序进行,在下载器中实现网页的请求并返回框架能识别的文档内容,并将该内容发送至信息解析端,借助爬虫文档解析组件BeautifulSoup,依据数据特点,将网页结构拆解形成预报文本、图片以及预测数据。
[0014] 进一步的技术方案中,所述步骤(3)中,模式运行时,ADCIRC模式的风场模读取台风或者热带气旋的强度和路径信息,用来计算模式的驱动风场,并且通过耦合器将计算出来的风场传递给SWAN模式,两者采用相同的风场驱动,ADCIRC模式的驱动场采用Jelesnianski的圆形台风模型。
[0015] 进一步的技术方案中,所述步骤(4)中,数据预处理组件对原始数据资源队列中的超算数据处理的具体方法如下:
[0016] 1)首先将队列中的数据分为要素数据和格点数据分别加载到内存,采用python中的pandas库对数据进行清理、合并和转换,最终形成只包含经度、纬度以及要素数据的csv格式文件,并存储到PostgreSQL数据库中;
[0017] 2)再通过python中GDAL地理信息处理库中的gdal_grid应用,利用公式(1)对要素数据进行反距离加权算法插值计算,通过得到每一个像素点和选定控制点对的逼近关系,以及相对应的权重关系,求得像素点相对应的变化关系,进而将数据填充为格点化文件,形成持久化存储的tiff文件;
[0018]
[0019] 3)通过最小边界几何方法,计算csv文件中的散点数据凸的外包络面,并结合陆地地形数据文件,形成要素数据的边界shp文件;
[0020] 4)将获取的tiff文件和shp文件输入到GDAL地理信息处理数据库中的gdalwarp应用,以shp文件为边界对所形成的栅格文件进行裁剪,形成最终所需要的区域栅格数据文件,将解析后的数据通过Redis文件数据库进行索引存储。
[0021] 更进一步的技术方案中,所述步骤(5)的具体方法如下:
[0022] 1)对裁切形成的tiff文件中的矢量数据,基于GDAL地理数据处理库中的gdal_translate应用,提取文件中的格点信息,重组数据文件为ascgrid格式文件;
[0023] 2)根据ascgrid网格数据中头文件信息确定Canvas图层与地图引擎的融合位置,包括数据量、网格起始位置和网格大小,从而确定网格的起始位置及画布的范围;
[0024] 3)在已形成的画布上绘制矢量图层,首先在区域网格内随机初始化风粒子,每一个格点的粒子包含五个属性,粒子在球体上的经度和纬度,风的属性信息、波浪的属性信息,以及粒子的生命周期,初始化完成后,根据当前格点风和波浪方向的位置,确定下一个风或者波浪的位置,数据需要实时更新,并通过基于leaflet的VectorField可视化类绘制图形元素并逐步渲染形成数据图层;
[0025] 4)对于标量图层则通过基于leaflet的canvasLayer可视化类,根据值的大小,实时渲染区域内的网格,借助开源的chroma.js色标组件,实时绘制图层色标,为加快图层的切换速度,形成流场动态展示效果,动画播放采用直接渲染好的tiff图层进行叠加,并存储在Cache缓存中,切换则通过React框架中的控制组件进行表现;
[0026] 5)将形成的标量和矢量图层通过Cesium地图引擎的材质图层组件加载相关图层,实现标量和矢量图层在三维地球引擎上的叠加。
[0027] 通过上述技术方案,本发明提供的一种可视化风暴潮-海浪耦合预报方法具有如下优点:
[0028] (1)采用了基于耦合器耦合的非结构网格的风暴潮-海浪耦合数值模式,既可以实现近岸的高分辨率又可以提高耦合模式的运行效率。
[0029] (2)将预报结果自动显示在海洋球上,比传统的显示方式更加直观友好。
[0030] (3)实现了风暴潮-海浪耦合预报系统的全流程自动化,自动获取大气驱动,自动运行耦合模式,自动显示模拟结果,显著提高系统的运行效率,降低了预报员的工作量。附图说明
[0031] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0032] 图1为本发明实施例所公开的风暴潮-海浪耦合模式运行流程图
[0033] 图2为本发明实施例所公开的基于Scrapy框架的爬虫信息获取流程图;
[0034] 图3为本发明实施例所公开的数据预处理模式;
[0035] 图4为本发明实施例所公开的基于Leaflet的粒子可视化方法架构图;
[0036] 图5为本发明实施例所公开的图层展示处理流程图;
[0037] 图6为本发明实施例所公开的北印度洋海域风暴潮-海浪耦合预报系统计算网格;
[0038] 图7为强气旋风暴“GAJA”预报信息图;
[0039] 图8为2018年11月北印度洋热带气旋“GAJA”登陆前风暴潮增
[0040] 图9为2018年11月北印度洋热带气旋“GAJA”登陆前海浪有效波高。

具体实施方式

[0041] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0042] 本发明提供了一种可视化风暴潮-海浪耦合预报方法,包括以下过程:
[0043] (1)基于Scrapy框架对气象部门发布的多线程数据进行爬取与解析,形成预报文本、图片及预测数据;
[0044] 具体方法如下:如图2所示,在调度器中将信息爬取分为文本信息获取、图片信息获取、台风信息获取三个进程,并通过调度器实现各进程的有序进行,在下载器中实现网页的请求并返回框架能识别的文档内容,并将该内容发送至信息解析端,借助爬虫文档解析组件BeautifulSoup,依据数据特点,将网页结构拆解形成预报文本、图片以及预测数据。
[0045] (2)将预报文本和图片采用Redis持久化存储方式存取,将预测数据存入PostgreSQL数据库中,数据库存储与爬取的数据文件实现了增量匹配,即将数据库中的数据作为集合B,抓取的数据作为集合A,求A和B的差集作为本次存入数据库中的内容,一旦差集不为空则通过调用消息通知应用向手机客户端发送消息,同时数据驱动线程会作为客户端向风暴潮-海浪耦合模式发送数据和启动命令,自动启动耦合模式的运行,并将预测数据作为驱动;
[0046] (3)风暴潮-海浪耦合模式运行时,风暴潮模式和海浪模式分量分别采用ADCIRC和SWAN,两个模式分量通过耦合器控制同时运行,并交换数据;
[0047] 两个耦合模式分量采取完全相同的计算网格,并且在并行计算时,两个模式的网格分割方式也完全一样。耦合模式的运行框架如图1所示。模式在运行时,首先由主程序(driver.F)将用户分配的总CPU核数平均分割,并分配给耦合模式分量ADCIRC和SWAN。ADCIRC和SWAN模式在得到分配的CPU核数后,同时开始运行,互不影响。
[0048] 为了提高模式运行的效率,将ADCIRC模式的风场驱动模块内嵌在了ADCIRC模式的源代码中。模式运行时,ADCIRC模式的风场模块读取台风或者热带气旋的强度和路径信息,用来计算模式的驱动风场,并且通过耦合器将计算出来的风场传递给SWAN模式,两者采用相同的风场驱动,ADCIRC模式的驱动场采用Jelesnianski的圆形台风模型,该台风模型对风场的计算考虑了台风的移动速度。其对风场和气压的计算公式如下:
[0049]
[0050]
[0051] 其中,A=-[(x-xc)sinθ+(y-yc)cosθ],B=[(x-xc)cosθ-(y-yc)sinθ],(x,y)和(xc,yc)分别代表计算点的位置和台风中心的位置;θ为流向,在本发明中,当r≤Rmax时θ=20°,r>Rmax时θ=15°;(Vox,Voy)分别为台风中心的移动速度在x和y方向的分量;Vmax为台风最大风速;Rmax为最大风速半径;r为计算点到台风中心的距离;V为计算点的速度;i和j分别代表x和y方向的单位矢量;P0为台风的中心气压;P∞为台风的外围气压,模式中设为
1010hPa。
[0052] (4)风暴潮-海浪耦合模式运算完成后将超算数据输入到原始数据资源队列中,当数据预处理程序监测到原始数据资源队列不为空时,则启动数据预处理组件,对原始数据资源队列中的超算数据进行处理,并输出到可视化数据资源队列中,如图3所示,具体方法如下:
[0053] 1)首先将队列中的数据分为要素数据和格点数据分别加载到内存,采用python中的pandas库对数据进行清理、合并和转换,最终形成只包含经度、纬度以及要素数据的csv格式文件,并存储到PostgreSQL数据库中;
[0054] 2)再通过python中GDAL地理信息处理库中的gdal_grid应用,利用公式(1)对要素数据进行反距离加权算法插值计算,通过得到每一个像素点和选定控制点对的逼近关系,以及相对应的权重关系,求得像素点相对应的变化关系,进而将数据填充为格点化文件,形成持久化存储的tiff文件;
[0055]
[0056] 3)通过最小边界几何方法,计算csv文件中的散点数据凸的外包络面,并结合陆地地形数据文件,形成要素数据的边界shp文件;
[0057] 4)将获取的tiff文件和shp文件输入到GDAL地理信息处理数据库中的gdalwarp应用,以shp文件为边界对所形成的栅格文件进行裁剪,形成最终所需要的区域栅格数据文件,将解析后的数据通过Redis文件数据库进行索引存储。
[0058] (5)前端引擎通过获取可视化资源数据队列中的数据,再通过基于Leaflet的粒子可视化方法以及栅格数据图层绘制方法,如图4和图5所示,将最终的结果呈现在海洋球上,具体方法如下:
[0059] 1)对裁切形成的tiff文件中的矢量数据,基于GDAL地理数据处理库中的gdal_translate应用,提取文件中的格点信息,重组数据文件为ascgrid格式文件;
[0060] 2)根据ascgrid网格数据中头文件信息确定Canvas图层与地图引擎的融合位置,包括数据量、网格起始位置和网格大小,从而确定网格的起始位置及画布的范围;
[0061] 3)在已形成的画布上绘制矢量图层,首先在区域网格内随机初始化风粒子,每一个格点的粒子包含五个属性,粒子在球体上的经度和纬度,风的属性信息、波浪的属性信息,以及粒子的生命周期,初始化完成后,根据当前格点风和波浪方向的位置,确定下一个帧风或者波浪的位置,数据需要实时更新,并通过基于leaflet的VectorField可视化类绘制图形元素并逐步渲染形成数据图层;
[0062] 4)对于标量图层则通过基于leaflet的canvasLayer可视化类,根据值的大小,实时渲染区域内的网格,借助开源的chroma.js色标组件,实时绘制图层色标,为加快图层的切换速度,形成流场动态展示效果,动画播放采用直接渲染好的tiff图层进行叠加,并存储在Cache缓存中,切换则通过React框架中的控制组件进行表现;
[0063] 5)将形成的标量和矢量图层通过Cesium地图引擎的材质图层组件加载相关图层,实现标量和矢量图层在三维地球引擎上的叠加。这样通过流程化的模式模拟结果就显示在海洋球上,并且可以转动海洋球显示感兴趣区域内容,更加直观,在展示形式上明显优于传统的平面图。
[0064] 通过上述步骤就完成了自动获取驱动场,自动运行风暴潮-海浪耦合模式,自动对模拟结果进行展示这样一个流程,实现数据全生命周期的自动化处理,大大提高预报的效率。
[0065] 以本发明在北印度洋风暴潮和海浪耦合预报中的应用为例,具体步骤如下:
[0066] 1、针对北印度洋重点海域建立高分辨率的非结构计算网格。
[0067] 计算网格设计时,根据北印度洋海域历史飓风风暴潮严重程度以及与“21世纪海上丝绸之路”的关系密切程度来确定重点研究海域。计算网格如图6所示。这个网格的优点是覆盖了整个北印度洋海域,可以更方便的模拟空间跨度比较广的台风过程中的风暴潮和海浪。并且在重点区域都进行了加密,重点区域包括一些和我国关系比较密切的港口,还有一些风暴潮和海浪灾害比较严重的区域。其中,在孟加拉湾北部最大分辨率高达100到200米。在一些重要的港口区域分辨率也比较高,分别设置为200米或者600米。
[0068] 对于该网格,本项研究所用深度数据主要采用印度国家海洋局的研究中获得的改进的浅水数据库,对于上述数据库中资料缺失的海湾前端河口地区,水深数据从具有1/30°高分辨率的GEBCO数据库中提取。在上述两种水深覆盖不到的区域,采用ETOPO水深。
[0069] 2、耦合模式设置
[0070] 1)ADCIRC模式的初始条件和边界条件
[0071] 初始条件:
[0072] 当t=0时,u=v=0,ζ=0,其中u,v分别为x和y方向的流速,ζ为相对于平均海面的水位。
[0073] 边界条件:
[0074] 模式海岸边界取:Vn=0,这里Vn是指固边界的法向水深平均流速。
[0075] 开边界上采用M2,S2,K1,O1,N2,S2,P1,Q1共8个分潮的调和常数预报的水位作为驱动,这些调和常数从全球潮汐模型OTIS(Egbert等,2002)中提取,计算公式为:
[0076]
[0077] 其中,i代表分潮,ωi为分潮角频率,Hi为分潮振幅,gi为分潮迟角,fi为交点因子,t为时间,从某一初始时间t0作为零开始计算,(ν+u)i为t0时刻的分潮初位相。
[0078] 2)SWAN模式设置
[0079] SWAN模式的计算网格水深与ADCIRC模式完全一致。初始频率为0.04Hz,频率增加因子为1.1,频率数为41,波浪谱方向的分辨率为10°。模式计算的时间步长为30分钟。
[0080] 3)耦合设置
[0081] 耦合模式在运行时,模式间交换数据的时间间隔为30分钟。
[0082] 3、运行本发明所介绍的风暴潮海浪耦合数值预报可视化系统
[0083] 该系统会一直以一定的频率访问气象局网站,一旦发现有新的气旋过程生成,就会立即自动下载气旋的强度和路径信息,作为系统的输入,并且通过手机短信提示预报员。以最近出现在北印度洋的“GAJA”强气旋风暴为例。其预报信息如图7所示。
[0084] 系统运行时,会检测到对该气旋的预报信息,当预报信息有更新时,也能检测到,并将最新的预报信息下载到服务器指定文件夹。之后系统启动风暴潮-海浪耦合模式,并查询模式运行的状态,当模式运行结束后,系统自动对模拟结果进行分析和作图。其中在热带气旋登陆前的风暴潮和海浪模拟结果展示分别如图8和图9所示。该展示形式可以更加直观的显示风暴潮和海浪的波高分布,同时可以人工转动海洋球,显示自己感兴趣的区域。
[0085] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈