CN112147719A - 一种基于gpu并行计算的风暴潮集合数据预报方法以及装置 - Google Patents

一种基于gpu并行计算的风暴潮集合数据预报方法以及装置 Download PDF

Info

Publication number
CN112147719A
CN112147719A CN202011054190.7A CN202011054190A CN112147719A CN 112147719 A CN112147719 A CN 112147719A CN 202011054190 A CN202011054190 A CN 202011054190A CN 112147719 A CN112147719 A CN 112147719A
Authority
CN
China
Prior art keywords
forecast
path
forecasting
storm surge
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011054190.7A
Other languages
English (en)
Other versions
CN112147719B (zh
Inventor
李明杰
刘秋兴
于福江
梁森栋
刘仕潮
傅赐福
姜金荣
付翔
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NATIONAL MARINE ENVIRONMENTAL FORECASTING CENTER
Original Assignee
NATIONAL MARINE ENVIRONMENTAL FORECASTING CENTER
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NATIONAL MARINE ENVIRONMENTAL FORECASTING CENTER filed Critical NATIONAL MARINE ENVIRONMENTAL FORECASTING CENTER
Priority to CN202011054190.7A priority Critical patent/CN112147719B/zh
Publication of CN112147719A publication Critical patent/CN112147719A/zh
Application granted granted Critical
Publication of CN112147719B publication Critical patent/CN112147719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01WMETEOROLOGY
    • G01W1/00Meteorology
    • G01W1/10Devices for predicting weather conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Algebra (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Ecology (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Environmental Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种基于图像处理器并行计算的风暴潮集合数值预报方法以及装置,所述风暴潮的集合数值预报方法包括:生成多路预报数据;由中央处理器CPU对图像处理器GPU分配多个计算线程,并由所述GPU基于所述多个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报结果;根据各路所述预报结果和与所述各路预报结果对应的权重系数确定输出预报结果。本申请的一些实施例通过引入GPU并行处理多路预报数据明显提升了多计算网格点风暴潮预报的速度。

Description

一种基于GPU并行计算的风暴潮集合数据预报方法以及装置
技术领域
本申请涉及风暴预报领域,具体而言本申请实施例涉及一种基于GPU 并行计算的风暴潮集合数据预报方法以及装置。
背景技术
20世纪以来,我国沿海共发生5次死亡人数超过万人的灾害性风暴潮 事件。风暴潮灾害造成的直接经济损失占我国各类海洋灾害损失的90%以 上。因此准确的风暴潮预报对我国沿海地区的防灾减灾工作至关重要且意 义重大。
台风风暴潮数值模式能较好地模拟风暴潮的变化情况,在风暴潮预报 中发挥着重要的作用,其模拟的准确性离不开模式对近岸复杂水深和地形 的精细刻画。但精细化的计算网格(计算网格是为了实现计算机模拟计算 而将实际的地形进行离散化处理,分成非常小的网格点,计算网格点是赋 予物理量的最小单元,计算网格点越小,分辨率越高)必然导致计算量的 急剧增加,若想实现上百个预报成员的台风风暴潮集合预报,计算量更是成百倍地增加。目前通常的做法是通过将计算网格划分成若干计算区域, 再利用超算集群通过MPI等并行计算的方式缩短计算时间,或仅利用少量 的预报成员(一般设置为5个)通过单机计算的方式来实现风暴潮的集合 预报。
因此如何提升风暴潮预报的准确性和计算速度成了亟待解决的技术问 题。
发明内容
本申请实施例的目的在于提供一种基于GPU并行计算的风暴潮集合数 值预报方法、装置以及系统,本申请的一些实施例提供了基于图形处理器 (GPU)并行计算的风暴潮集合预报技术。利用本申请实施例的技术方案, 各级海洋预报机构在单机上就可以实现上百个预报成员的台风风暴潮快速 计算(一个预报成员的计算仅用几秒至十几秒),有效降低了基于多预报成 员的台风风暴潮集合预报的门槛,极大地提高了风暴潮数值模式的计算效 率,显著提升海洋预报的预报时效。
第一方面,本申请实施例提供一种基于GPU并行计算的风暴潮集合数 值预报方法,所述基于GPU并行计算的风暴潮集合数值预报方法包括:生 成多路预报数据;由中央处理器对图像处理器分配多个计算线程,并由所 述图像处理器基于所述多个计算线程并行计算所述多路预报数据中各路预 报数据对应的预报结果,得到多路所述预报结果;根据各路所述预报结果 和与所述各路预报结果对应的权重系数确定输出预报结果。
本申请的一些实施例通过引入图像处理器GPU并行处理多路预报数据 明显提升了多计算网格点风暴潮预报的速度。
在一些实施例中,所述由中央处理器对图像处理器分配多个计算线程, 并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中 各路预报数据对应的预报结果,得到多路所述预报结果,包括:采用所述 中央处理器对所述多路预报数据和对应的所述预报结果进行前处理、后处 理以及输入输出操作,其中,所述前处理包括:台风移速计算、台风参数 插值计算以及地理相关常量的计算,所述台风参数包括经纬度、中心气压和大风半径,所述后处理包括定时提取所述预报结果以及海陆数据校验; 采用所述图像处理器对所述多路预报数据中各路预报数据包括的多个网格 点的迭代运算,并将每次迭代运算的处理结果发送至所述中央处理器。
本申请的一些实施例通过为中央处理器和图像处理器分配不同种类的 处理任务提升了风暴潮预报的速度。
在一些实施例中,所述各路预报数据包括多个计算网格点的预报数据, 所述预报结果是通过所述图像处理器计算所述各计算网格点的多个核函数 得到的。
本申请的一些实施例提供了将水平计算网格点进行任务分解,将每个 计算网格点上的计算动态分配给图像处理器的不同的线程进行计算,提升 了数据处理的速度。
在一些实施例中,所述图像处理器被配置为依次计算所述计算网格点 的风应力核函数的值、连续方程核函数的值、动量方程核函数的值以及变 量平滑核函数的值,其中,所述风应力核函数、所述连续方程核函数、所 述动量方程核函数以及所述变量平滑核函数是对模型风场计算函数、风暴 潮计算函数和平滑函数分解得到的;所述中央处理器还被配置负责所述风 应力核函数、所述连续方程核函数、所述动量方程核函数和所述变量平滑核函数的迭代循环和收敛条件的控制。
本申请的一些实施例设计四个核函数并依次执行四个核函数的技术方 案能够保证全局内存读写以及同步的正确性。
在一些实施例中,所述由中央处理器对图像处理器分配多个计算线程, 并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中 各路预报数据对应的预报结果,得到多路所述预报结果,包括:所述中央 处理器读取第n路预报数据,并确认所述第n路预报数据不属于所述多路 预报数据中的最后一路预报数据;在所述图像处理器中依次执行如下步骤: 根据风应力核函数计算风应力变量,获得风应力变量值;根据连续方程核 函数计算连续方程,获得水位变量值;根据动量方程核函数计算动量方程, 获得流速变量值;根据变量平滑核函数平滑所述水位变量值和所述流速变 量值,并提取最大风暴增水;其中,当所述中央处理确定所述第n路预报 数据属于所述多路预报数据中的最后一路预报数据时,则输出所述图像处 理器的计算结果,所述计算结果包括所述最大风暴增水;其中,所述n为 大于等于1的自然数。
本申请的一些实施例基于GPU并行计算的风暴潮数值集合预报技术使 基于大量集合成员的台风风暴潮集合预报在单机上就可以快速实现,并且 得到更加可靠的集合数值预报和概率数值预报产品。
在一些实施例中,所述中央处理器读取第n路预报数据,并确认所述 第n路预报数据不属于所述多路预报数据中的最后一路预报数据之前,所 述风暴潮的集合数值预报方法还包括:在所述图像处理器的全局变量中设 置多个循环内变量,其中,所述循环内变量包括:水位和最大增水中的至 少一个;在所述中央处理器的全局变量中设置结果变量或者常量。
本申请的一些实施例通过预先设置图像处理器的全局变量和中央处理 器的多个全局变量可以保证全局内存读写以及同步的正确性。
在一些实施例中,通过如下公式确定所述图像处理器第一线程块中第 一线程所处理的全局变量所对应的计算网格点:
i=(blockId%x-1)*blockDim%x+threadId%x
j=(blockId%y-1)*blockDim%y+threadId%y
其中,i和j分别代表全局变量经向和纬向的编号(即在计算网格中的 位置),blockId%x和blockId%y分别代表线程块(block)经向和纬向的逻 辑分布编号,blockDim%x和blockDim%y分别代表线程块经向和纬向的逻 辑分布数量,threadId%x和threadId%y分别代表一个线程块中线程(thread) 经向和纬向的逻辑分布编号。
本申请的一些实施例通过确认图像处理器正在处理的线程块和线程以 使得每一个线程可以同步统一计算设备架构CUDA的内置代码。
在一些实施例中,所述多路预报数据对应的多条路径是通过如下方式 获取的:根据台风误差半径确定多个同心圆;针对所述多个同心圆中的各 同心圆分别选择台风主观预报路径、以及相对于所述主观路径预报路径多 个方位的辅助预报路径,作为与所述各同心圆相关的多条预报路径。
本申请的一些实施例通过同心圆、主观预报路径得到的多条预报路径 能够快速生成超过100个台风集合成员,即生成100多路径的预报数据, 因此可以提升风暴潮预报的准确性。
在一些实施例中,所述权重系数是根据如下策略确定的:对应于所述 台风主观预报路径的预报结果的权重系数最大,越接近所述主观预报路径 的所述辅助预报路径对应的预报结果的权重系数越大,同一所述同心圆上 的多条预报路径对应的多个预报结果的权重系数相同。
本申请的一些实施例能够给各路预报结果合理赋予权重,得到更加可 靠的风暴潮的概率数值预报产品。
在一些实施例中,所述权重系数是根据高斯分布函数确定的。
本申请的一些实施例通过引入高斯分布函数计算各路预报结果的权重 系数提升了权重系数的合理性。
在一些实施例中,所述生成多路预报数据之前,所述方法还包括:设 置所述台风误差半径,设置大风半径增量并设置所述多条路径的总数量; 所述针对所述多个同心圆中的各同心圆分别选择台风主观预报路径、以及 相对于所述主观路径预报路径四个方位的辅助预报路径,作为与所述各同 心圆相关的多条预报路径,包括:根据所述总数量、所述台风误差半径和 所述大风半径增量确定所述各同心圆的所述预报路径。
本申请的一些实施例通过台风误差半径、大风半径增量可以快速生成 大量的路径,进而模拟生成大量路径对应的路径预报数据。
在一些实施例中,所述根据各路所述预报结果和与所述各路预报结果 对应的权重系数确定输出预报结果之后,所述方法还包括:制作最大增水 模型并显示;制作单站概率预报模型并显示。
本申请的一些实施例可以将台风集合预报成员生成、台风风暴潮数值 模式并行算法、风暴潮集合预报技术、集合预报产品制作等功能整合,实 现风暴潮集合预报产品制作等流程化处理。
第二方面,本申请的一些实施例提供一种基于GPU并行计算的风暴潮 集合数值预报装置,所述风暴潮的集合数值预报装置包括:多路模拟数据 生产模块,被配置为生成多路预报数据;迭代计算模块,被配置为由中央 处理器对图像处理器分配多个计算线程,并由所述图像处理器基于所述多 个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果, 得到多路所述预报结果;预报结果获取模块,被配置为根据权重系数和所述多路预报结果得到预报结果。
第三方面,本申请的一些实施例提供一种基于GPU并行计算的风暴潮 集合数值预报系统,包括控制设备和计算设备;其中,所述控制设备包括 中央处理器,所述计算设备包括图像处理器,其中,所述控制设备被配置 为执行上述第一方面中由所述中央处理器执行的方法,所述计算设备给配 置为执行上述第一方面中由所述图像处理器执行的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例 中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请 的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人 员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相 关的附图。
图1为本申请实施例提供的基于GPU并行计算的风暴潮预报装置的组 成框图;
图2为本申请实施例提供的基于GPU并行计算的风暴潮预报方法的流 程图之二;
图3为本申请实施例提供的确定一个圆上预报路径的方法示意图;
图4为本申请实施例提供的确定多个同心圆上预报路径的方法示意图;
图5为本申请实施例提供的基于GPU并行计算的风暴潮预报方法的流 程图之三;
图6为本申请实施例提供的基于GPU并行计算的风暴潮预报平台的处 理流程图;
图7为本申请实施例提供的风暴潮的集合数值预报装置的组成框图;
图8为本申请实施例提供的风暴潮的集合数值预报系统的组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进 行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分 描述,而不能理解为指示或暗示相对重要性。
结合背景技术的描述可知,各级海洋预报机构如果要实现上百个预报 成员的台风风暴潮快速计算,需要配备价格高昂的超算集群和专业的维护 人员,同时还需支付价格不菲的运行费用。这无疑给业务化台风风暴潮集 合数值预报设置了很高的门槛,迫使很多预报机构望而却步。此外,现有 基于CPU的风暴潮集合数值预报具有成员少(即台风预报路径的数量少), 计算时间长的特点,且由于相关技术中各集合成员计算结果差异明显且权重分配不尽合理(即不同集合成员的预测结果的权重分配不合理,例如图1 的各路风潮预报结果的权重分配不合理),导致集合预报和概率预报产品 参考性不强,同时单机计算时间需要十几分钟,并不能满足海洋预报高时 效性的要求。需要说明的是,集合数值预报技术是在广泛应用在天气和海 洋预报中的一种方法,利用不同的初始条件、边界条件或参数设定驱动同 一种数值模式,或直接驱动相对独立的几种数值模式,进而获取不同的预 报结果,各预报结果间的差异可提供预报要素的概率分布信息,其主要目 的是预测未来大气和海洋状况的可能范围。
正是为了解决上述技术问题,本申请的一些实施例提供一种基于图形 处理器(GPU)并行计算的风暴潮集合预报技术。利用本申请的实施例各 级海洋预报机构在单机上就可以实现上百个预报成员的台风风暴潮快速计 算(一个预报成员的计算仅用几秒至十几秒),有效降低了基于多预报成 员的台风风暴潮集合预报的门槛,极大地提高了风暴潮数值模式的计算效 率,显著提升海洋预报的预报时效。
请参看图1,图1为本申请的一些实施例提供的基于GPU并行计算的 风暴潮集合数值预报装置。结合图1可知,本申请一些实施例的风暴潮的 集合数值预报装置包括:生成多路预报数据的模块100、计算模块200以及 权重赋值模块300。
生成多路预报数据的模块100用于生成上百个预报成员,改善了风暴 潮集合数值预报成员少的技术问题。如图1所示,采用本申请的一些实施 例生成多路预报数据的模块100输出由其生成的第一路台风预报数据110、 第二路台风预报数据120、……、第N路台风预报数据,其中,N为大于1 的自然数。通过本申请的一些实施例的生成多路预报数据的模块100生成 的多路预报数据可以增加集合数据预报成员的数量。针对生成多路预报数 据的模块100的具体工作过程请参考下文图3和图4及相关描述,在此不 做过多赘述。
计算模块200用于接收输入的多路台风预报数据(对应于下文的多路 预报数据)并对各路台风预报数据基于图像处理器GPU进行并行计算输出 与各路台风预报数据对应的各路台风风暴潮预报结果。如图1所示的,计 算模块200输出了与第一路台风预报数据110对应的第一路台风风暴潮预 报结果210、与第二路台风预报数据120对应的第二路台风风暴潮预报结果 220、……、以及与第N路台风预报数据对应的第N路台风风暴潮预报结果。针对计算模块200的具体的计算方式可以参考下文描述在此不做过多 赘述。
权重赋值模块300用于对输入的多路台风风暴潮预报结果进行更加合 理的权重赋值合并计算得到图1的输出预报结果。本申请一些实施例的各 路台风风潮预报结果的权重赋值方式可以参考下文描述,为避免重复在此 不做过多赘述。
需要说明的是,图1的生成多路预报数据的模块100、计算模块200以 及权重赋值模块300可以分别位于不同的物理设备中,也可以位于同一物 理设备中。作为一个示例,可以将生成多路预报数据的模块100和权重赋 值模块300设置在同一物理设备,将计算模块设置在一个或多个设备组成 的集群系统中。
如图2所示,本申请实施例提供一种基于GPU并行计算的风暴潮集合 数值预报方法,所述风暴潮的集合数值预报方法包括:S101,生成多路预 报数据(例如,生成多路台风预报数据);S102,由中央处理器对图像处理 器分配多个计算线程,并由所述图像处理器基于所述多个计算线程并行计 算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报 结果;S103,根据各路所述预报结果和与所述各路预报结果对应的权重系数确定输出预报结果。
本申请的一些实施例通过引入图像处理器GPU并行处理多路预报数据 明显提升了多计算网格点风暴潮预报的速度。需要说明的是,计算网格点 是为了实现计算机模拟计算而将实际的地形进行离散化处理,分成非常小 的网格点,计算网格点是赋予物理量的最小单元。计算网格点越小,分辨 率越高。
下面逐一示例性阐述上述三个步骤的处理过程。
S101涉及的多路预报数据(例如,图1的各路台风预报数据)对应的 多条路径是通过如下方式获取的:根据台风误差半径确定多个同心圆;针 对所述多个同心圆中的各同心圆分别选择台风主观预报路径、以及相对于 所述主观路径预报路径多个方位的辅助预报路径,作为与所述各同心圆相 关的多条预报路径。例如,所述生成多路预报数据之前,所述风暴潮的集 合数值预报方法还包括:设置所述台风误差半径,设置大风半径增量并设 置所述多条路径的总数量;所述针对所述多个同心圆中的各同心圆分别选 择台风主观预报路径、以及相对于所述主观路径预报路径四个方位的辅助 预报路径,作为与所述各同心圆相关的多条预报路径,包括:根据所述总 数量、所述台风误差半径和所述大风半径增量确定所述各同心圆的所述预 报路径。本申请的一些实施例通过台风误差半径、大风半径增量可以快速 生成大量的路径,进而模拟生成大量路径对应的路径预报数据。
下面结合图3和图4示例性阐述本申请一些实施例获取多条路径的方 法,即示例性阐述图1的台风集合预报路径(即多条台风预报数据对应的 多条台风预报路径)的生成方法。由于台风风暴潮的集合预报依赖于台风 预报路径的集合预报,因此提升集合预报包括的预报路径的数量会提升台 风集合预报的准确性。
本申请一些实施例的台风集合路径生成方法以主观预报路径为基础, 基于当前台风路径和强度预报误差,考虑未来台风可能出现的不同路径、 移速和强度(含对应的大风半径)的变化,利用一定的算法生成台风集成 路径成员。
台风集合路径成员生成方法如图3。图3的除了主观预报路径以外,在 特定的台风预报误差半径(即图3的虚线圆)上,考虑台风路径偏左、偏 右、偏快和偏慢四种可能性(合计5个预报成员对应5条路径)。台风预报 误差半径可以通过历年预报统计所得。例如,以台风主观预报的前进方向 为0点,在误差概率圆上分别顺时针旋转270°、90°、0°和180°即可找到一定时间后台风可能的位置。本申请的一些实施例提供的增加预报成 员(即增加预报数据对应的路径数目)的方式如图4所示,在台风预报误 差范围内,均匀增加“概率圆”的个数(例如图4包括两个概率圆),每增 加一个概率圆,即增加4个预报成员。例如,本申请的实施例采用7个概 率圆或称为7个同心圆(合计29个预报成员),每个预报成员再考虑台风 强度的增减(例如,强度增加或减少5hPa以及强度增加或减少10hPa,每 个预报成员增加四种情况)及相应大风半径的变化,最终台风预报成员可 以增加至145个,可以满足台风风暴潮集合预报和概率预报的需求。也就 是说,29个预报成员仅考虑了台风路径的偏转和移速快慢,没有考虑强度 的变化,如再考虑四种强度的增减,总成员就变成29*5=145个。
本申请的一些实施例中S102包括:采用所述中央处理器对所述多路预 报数据和对应的各路预报结果进行前处理、后处理以及输入输出操作,其 中,所述前处理包括:台风移速计算、台风参数(例如,经纬度、中心气 压和大风半径等)插值计算以及地理相关常量的计算等,所述后处理包括 预报结果定时提取以及海陆数据校验等;采用所述图像处理器对所述多路 预报数据中各路预报数据包括的多个网格点的迭代运算,并将每次迭代运 算的处理结果发送至所述中央处理器。
在本申请的一些实施例中,所述各路预报数据包括多个计算网格点的 预报数据,S102涉及的预报结果是通过所述图像处理器计算所述各计算网 格点的多个核函数得到的。例如,S012包括:图像处理器被配置为依次计 算所述计算网格点的风应力核函数的值、连续方程核函数的值、动量方程 核函数的值以及变量平滑核函数的值,其中,所述风应力核函数、所述连 续方程核函数、所述动量方程核函数以及所述变量平滑核函数是对模型风场计算函数、风暴潮计算函数和平滑函数分解得到的;所述中央处理器还 被配置负责所述风应力核函数、所述连续方程核函数、所述动量方程核函 数和所述变量平滑核函数的迭代循环和收敛条件的控制。
在本申请的一些实施例中,S102包括:所述中央处理器读取第n路预 报数据,并确认所述第n路预报数据不属于所述多路预报数据中的最后一 路预报数据;在所述图像处理器中依次执行如下步骤:根据风应力核函数 计算风应力变量,获得风应力变量值;根据连续方程核函数计算连续方程, 获得水位变量值;根据动量方程核函数计算动量方程,获得流速变量值; 根据变量平滑核函数平滑所述水位变量值和所述流速变量值,并提取最大风暴增水;其中,当所述中央处理确定所述第n路预报数据属于所述多路 预报数据中的最后一路预报数据时,则输出所述图像处理器的计算结果, 所述计算结果包括所述最大风暴增水。
为了进一步保证全局内存读写以及同步的正确性,在本申请的一些实 施例中,所述中央处理器读取第n路预报数据,并确认所述第n路预报数 据不属于所述多路预报数据中的最后一路预报数据之前,所述风暴潮的集 合数值预报方法还包括:在所述图像处理器的全局变量中设置多个循环内 变量,其中,所述循环内变量包括:水位和最大增水中的至少一个;在所 述中央处理器的全局变量中设置结果变量或者常量。
在一些实施例中,通过如下公式确定所述图像处理器第一线程块中第 一线程所处理的全局变量所对应的计算网格点:
i=(blockId%x-1)*blockDim%x+threadId%x
j=(blockId%y-1)*blockDim%y+threadId%y
其中,i和j分别代表全局变量经向和纬向的编号(即在计算网格中的 位置),blockId%x和blockId%y分别代表线程块(block)经向和纬向的逻 辑分布编号,blockDim%x和blockDim%y分别代表线程块经向和纬向的逻 辑分布数量,threadId%x和threadId%y分别代表一个线程块中线程(thread) 经向和纬向的逻辑分布编号。需要说明的是,上述第一线程块泛指所有线 程块中的任意一个线程块,上述第一线程泛指第一线程块中的任意一个线 程。
下面结合台风预报为示例产生上述的S102。
本申请的一些实施例中提供的基于GPU并行计算的风暴潮集合数值预 报方法包括:将水平计算网格点进行任务分解,将每个计算网格点上的计 算动态分配给不同的线程进行计算,同时将整个算法过程按照计算任务不 同拆分成多个在图像处理器GPU上执行的核函数(kernal),每个核函数 kernal内部计算所需要的数据可以从全局内存读入,或者由线程自身计算更 新得到,不需要访问外部线程计算所得的数据。每个核函数kernal内的多线程不存在数据依赖,而核函数kernal之间的数据依赖通过全局内存以及 线程同步来进行线程间的数据通信。
在基于GPU的风暴潮数值预报模式并行计算算法中,需要中央处理器 CPU来对图像处理器GPU分配计算线程,由GPU来执行计算,最终再将 计算结果返回中央处理器CPU。业务化台风风暴潮数值模式CTS算法中每 个时间步中的算法过程相同,包含了模型风场计算函数、风暴潮计算函数 (包含水位和流速计算)和平滑函数三个主要函数,这三个函数的计算有 先后关系,而且存在数据依赖关系。例如,模型风场计算函数是基于国际 上通用的高桥和藤田公式编写,风暴潮计算函数是基于流体动力学的基本 方程编写,在此不做过多赘述,平滑函数是将变量进行空间平滑得到的(例 如,一个计算网格点原始值乘以0.6,周围四个点乘以0.1,求和即得该网 格点平滑值)。
图像处理器GPU负责风暴潮数值预报模式中模型风场计算函数、风暴 潮计算函数和平滑函数的并行计算,中央处理器CPU负责上述三个计算函 数的迭代循环和收敛条件的控制以及风暴潮数值预报模式中台风数据(包 含台风位置、中心气压、大风半径、移速等)插值计算、数据后处理等。
开发基于GPU的风暴潮并行的计算模块200主要分以下几个步骤:
(1)需要区分在图像处理器GPU和中央处理器CPU上运行的变量, 并分别定义。
在GPU设计中,将CPU及系统的内存称为主机,将GPU及GPU本 身的现实内存称为设备。在GPU上运行的变量声明为设备(device)变量, 如:将中心气压项声明为设备,存放在GPU全局存储器中,具体表述方法 如下:real,device::P(MM,NN),其中MM和NN分别是经向和纬向的网格 数。常量声明为value(或constant),具体表述方法如下:integer,value::RR, 其中RR代表地球半径。设备代码kernal函数里面定义的没有特别声明属性 变量放在寄存器内存里。
(2)线程块(block)和线程(thread)的分配
要实现GPU的计算模型,要将程序的计算任务分配给各个线程来执行。 GPU线程以网格(grid)的方式进行组织,每个网格中包含若干个线程块 (block),不同线程块的线程(thread)之间互不干扰。同一线程块中的线 程在任一时刻都执行相同的指令,并且通过共享内存可实现块内线程间的 通信。由于一个block最多能开2048个线程,相关技术人员可以使用多个 线程块block来满足计算需求。
每一个线程可以同步内置代码,用blockId,threadId来识别,表示线程 属于线程块block(blockId%x,blockId%y)里的第(threadId%x,threadId%y) 个线程。这样可以通过如下公式来计算出全局唯一变量i和j,并将其作为 全局变量数组下标。
i=(blockId%x-1)*blockDim%x+threadId%x
j=(blockId%y-1)*blockDim%y+threadId%y
其中,blockDim%x和blockDim%y分别代表线程块经向和纬向的逻辑 分布数量。
由于计算网格点可能不够全部线程来划分,为了避免越界和多余计算, 将i和j做出限制,只有分配到网格的线程才做计算。
基于GPU的风暴潮并行计算模式需定义两个变量:
tBlock=dim3(16,8,1)
grid=dim3(blockDim%x,blockDim%y,1)
其中,tBlock表示一个线程块block里面线程thread分布,这里表示128 个线程,逻辑二维划分,x方向(即tBlock%x)16个,y方向(即tBlock%y) 8个。grid表示block逻辑分布,也是二维划分,x方向和y方向分别为blockDim%x个和blockDim%y个,具体求解公式如下:
blockDim%x=ceiling(MM/tBlock%x)
blockDim%y=ceiling(NN/tBlock%y)
其中,MM和NN分别是经向和纬向的计算网格点的数量,ceiling代 表向上取整。
(3)根据计算任务不同编写不同功能的核函数。
例如,核函数kernal的编写主要利用以GPU和GPU内存为工作对象 的CUDAFortran语言,可以通过Fortran语言把外部数据读入,再分配数 据给CUDA Fortran,以便在GPU上计算,然后将计算结果返回给Fortran, 以便进一步工作。具体地,图像处理器被配置为依次计算所述计算网格点 的风应力核函数的值、连续方程核函数的值、动量方程核函数的值以及变 量平滑核函数的值,其中,所述风应力核函数、所述连续方程核函数、所 述动量方程核函数以及所述变量平滑核函数是对模型风场计算函数、风暴 潮计算函数和平滑函数分解得到的。需要说明的是,模型风场计算函数、 风暴潮计算函数和平滑函数对应的具体方程属于现有技术在此不做过多赘 述,本领域技术人员可以在本申请的技术启示下分解这三个函数得到风应 力核函数、连续方程核函数、动量方程核函数以及变量平滑核函数各自对 应的方程。
不同的线程块(block)之间的线程在核函数kernal中不能共享内存, 同时也不能同步,只能在核函数kernal之间进行同步。如果不同线程块block 之间的线程要访问别的线程的数据,只能通过读写全局内存来实现。因此 根据以上要求,本申请的发明人将风暴潮数值预报模式循环迭代中的三个 主要函数分解成4个具有先后关系的核函数kernal(即step1:风应力计算 核函数、step2:连续方程计算核函数、step3:动量方程核函数和step4:变 量平滑核函数),来保证全局内存读写以及同步的正确性。
需要注意的是,核函数被CPU主程序调用,子程序subroutine之前需 要加attributes(global)。
(4)在CPU端调用核函数进行GPU并行计算。
例如,调用核函数的方式如下:
CALL step1<<<grid,tBlock>>>(X0,Y0,DENA,RR,MM,NN,DT…)
其中,“<<<>>>”运算符内是核函数kernal的执行参数,用于说明核函 数中的线程数量,以及线程是如何组织的。小括号()中的变量为从CPU端 直接拷贝的初始数据,例如,X0和Y0分别代表模拟区域的西边界和北边 界,DENA代表海水密度,RR代表地球半径,MM和NN分别代表经向和 纬向的计算网格点的总数目,DT代表数值模式计算的时间步长。由于CPU 和GPU端数据拷贝非常耗时,设计程序时要尽量减少拷贝,让中间变量一 直保持在GPU全局内存上。计算完成后,将最终需要输出的结果变量(即 各站风暴潮时序变化数据和最大增水分布数据)从GPU端拷贝到CPU端, 进行输出。中间变量即为计算下一时刻水位和流速的输入值,也是上一时 刻的计算值。
如图5所示,该图提供了本申请一些实施例的风暴潮并行计算模式。
S211,在GPU全局变量中设置气压、风应力、水深、水位、流速、最 大增水、各潮位站位置及各站风暴潮时序变化等变量。
S212,在CPU全局变量中设置相应的数据变量和常数变量,例如,设 置水位、流速、最大增水、风暴潮时序变化等变量初始值为0。
S213,读取水深地形数据。
S214,读取潮位站位置数据。
S221,读取某时刻台风路径数据。
S222,利用图像处理器GPU核函数计算风应力变量对应的风应力;
S223,利用GPU核函数计算连续方程输出水位变量;
S224,利用GPU核函数计算动量方程输出流速变量;
S225,利用GPU核函数平滑水位、流速等变量,并提取最大风暴增水;
例如,核函数可以是使用DUDA语言重新编写的流体动力学方程。
S227,判断台风路径数据是否读取完毕,未完毕返回S221,完毕进入 下一步;
S228,将结果数据(包含最大风暴增水分布数据和各潮位站风暴增水 时序数据等)从GPU端拷贝至CPU端,并输出结果文件;在一些实施例 中还可以输出计算所花费时间。
需要说明的是,图5的S211至S228全部流程为模拟预测一路预报数 据对应的预报结果处理的过程,其中,S221是读取一路数据(包含多个时 次)中某一个时刻的台风数据。可以理解的是,对于多路预报数据对应的 预报结果处理流程可以参考图5的S211至S228。下面示例性阐述权重系数 赋值方法。
在本申请的一些实施例中,所述权重系数是根据如下策略确定的:对 应于所述台风主观预报路径的预报结果的权重系数最大,越接近所述主观 预报路径的所述辅助预报路径对应的预报结果的权重系数越大,同一所述 同心圆上的多条预报路径对应的多个预报结果的权重系数相同。例如,所 述权重系数是根据高斯分布函数确定的。
本申请一些实施例使用的高斯分布如下:
f(x)=exp(-(x-c)2/(2σ2)),
其中,c为位置参数(数学期望),σ为尺度参数(方差),σ=1.4。
在一些示例中,主观预报路径(中间路径)权重w0为1,假设有7个 内概率圆(或称为同心圆),内概率圆c1至外概率圆c7权重wi(i=1~7)按 高斯分布逐渐递减,分别为0.938,0.775,0.563,0.360,0.203,0.100,0.044。
在一些示例中,各预报成员在集合预报中所占百分比(即各路径对应 的预报结果在输出预报结果中所占的百分比)公式如下:
pi=wi/∑wi(i=0~7)
其中,wi为第i个概率圆上的权重。
例如,对应于7个概率圆的台风集合成员,从主观预报路径到最外概 率圆的权重百分比分别为25.10%,23.54%,19.45%,14.14%,9.05%,5.10%, 2.52%,1.10%(合计100%)。
风暴潮最终集合预报结果(即图1的输出预报结果)则为:
WL集合=WL0*p0+∑WLmi*pi(i=1~7)
其中,WL0为主观预报路径模拟结果(即主观预报路径对应的预报结 果,模拟结果数据包括风暴增水或总潮位),WLmi各概率圆(或称为同心 圆)上预报成员模拟结果的平均值。
为了向用户提供一个功能全面的风暴潮预测平台,在本申请的一些实 施例中,所述根据各路所述预报结果和与所述各路预报结果对应的权重系 数确定输出预报结果之后,所述方法还包括:制作最大增水分布产品(含 集合预报产品)并显示;制作特定风暴增水强度下的概率分布产品并显示; 制作单站概率预报产品并显示。需要说明的是,制作各潮位站风暴增水概 率和总潮位概率产品(含集合预报产品)时,仅统计事件出现的次数,认为各预报成员模拟结果是具有相同可能性的事件。例如145个成员中,有 100个成员在某潮位站处模拟风暴增水大于1米,则该潮位站此次风暴潮过 程大于1米的概率是100/145*100%=69.0%;同理,100个成员模拟总潮位 (风暴潮叠加天文潮即总潮位,天文潮为事先通过调和分析计算所得)达 到了当地警戒潮位,则此次风暴潮过程达到当地警戒潮位的概率为69.0%。 需要说明的是,制作集合预报产品时,不同事件按上述各路预测结果权重 赋值并叠加输出最终的产品;计算单站概率时,只是统计事件出现的次数, 不考虑各路预报结果的权重问题,或认为各路预报结构在输出预报结果中 的权重相同。
下面示例性阐述基于GPU并行计算的台风风暴潮集合数值预报系统平 台。
台风风暴潮集合数值预报系统主要功能是:通过获取台风报文(例如, 台风报文中主要记录目前台风位置、中心气压、最大风速,以及未来一段 时间台风预报位置、中心气压和最大风速)或台风路径文件生成若干条(几 条到上百条可选)考虑台风强度、大风半径和路径变化的台风路径文件, 进而在GPU上运行台风风暴潮模式,生成不同情境下的风暴潮预报结果, 再将上百个预报成员的模拟结果(或称为预报结果)按照一定算法赋予权重,提供风暴潮概率预报和综合预报结果(即获取输出预报结果)。这里所 述路径文件即根据台风报文或历史数据生成的模式所需输入文件(集合成 员之一),并由此生成多个集合预报成员,文件包含时间、台风位置、中心 气压和大风半径等。
具体操作流程如图6所示:
S510,输入台风报文或路径文档。
S520,设置台风预报误差半径和大风半径增量(可默认)、设定成员个 数(即设定多路预报数据对应的路径的数量),例如,选择台风预报成员个 数(5-145个可选,更改设置可增加更多预报成员);
S530,根据设置的台风预报误差半径、大风半径增量以及成员数量生 成多个台风预报成员(即获取图1的多路预报数据对应的多路路径)。在一 些实施例中,可以通过显示器展示生成的多个台风预报成员,具体地,制 作若干个台风预报成员的模式输入文件,并将预报成员输出到屏幕。通过 展示生成的多个台风预报成员方便预报员在提交GPU计算之前确认预报成 员是否有误或是否恰当。
S540,读取水深地形数据和潮位站位置数据。
S550,模式启动,即启动风暴潮GPU并行计算模式,进行快速计算, 读取上百个预报成员的模拟结果文件,并保存成系统可以快速读取的文件, 也就是得到输出结果文件。
S560,制作产品,即根据上述权重系数确定方法为各预报成员赋予权 重,并绘制最大风暴潮分布产品(可选择是否叠加高清卫片),对应于制作 输出最大增水产品;制作特定风暴增水强度下的概率分布产品(可选择是 否叠加高清卫片);制作所选区域的各潮位站风暴增水和总潮位概率分布产 品。对于制作特定风暴增水下的概率分布产品,例如大于1米的概率,统 计各预报成员模拟结果中所有格点大于1米个数,再除以成员个数,即得 概率分布,绘制成图即可。同理,制作风暴增水和总潮位概率分布产品除 了绘制时序曲线以外,附上不同强度或量值下计算的概率,即得概率分布 产品。
需要说明的是,在本申请的一些实施例中还可以通过显示器(例如屏 幕)展示制作得到的最大增水产品、概率分布产品以及单站概率预报产品 (即图6的S590)或者采用屏幕显示生成的台风预报路径成员(即图6的 S580)。
S570,完成后退出系统。
请参考图7,图7示出了本申请实施例提供的风暴潮的集合数值预报装 置,应理解,该装置与上述图2方法实施例对应,能够执行上述方法实施 例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重 复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存 储于存储器中或固化在装置的操作系统中的软件功能模块,该风暴潮的集 合数值预报装置,包括:多路数据生成模块701,被配置为生成多路预报数 据;迭代计算模块702,被配置为由中央处理器对图像处理器分配多个计算 线程,并由所述图像处理器基于所述多个计算线程并行计算所述多路预报 数据中各路预报数据对应的预报结果,得到多路所述预报结果;预报结果 获取模块703,被配置为根据各路所述预报结果和与所述各路预报结果对应 的权重系数确定输出预报结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述 描述的装置的具体工作过程,可以参考前述图2方法中的对应过程,在此 不再过多赘述。
如图8所示,本申请的一些实施例提供一种风暴潮的集合数值预报系 统,包括控制设备800和计算设备830;其中,所述控制设备800包括中央 处理器810,所述计算设备830包括图像处理器831,其中,所述控制设备 800被配置为执行由上述中央处理器执行的方法,所述计算设备被配置为执 行由上述图像处理器执行的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法, 也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的, 例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方 法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流 程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所 述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标 注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方 框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依 所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及 框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的 基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个 独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集 成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申 请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光 盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围, 对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本 申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示 类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需 要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可 轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请 的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用 来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者 暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语 “包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包 括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包 括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定 的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在 另外的相同要素。

Claims (14)

1.一种基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述风暴潮的集合数值预报方法包括:
生成多路预报数据;
由中央处理器对图像处理器分配多个计算线程,并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报结果;
根据各路所述预报结果和与所述各路预报结果对应的权重系数确定输出预报结果。
2.如权利要求1所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,
所述由中央处理器对图像处理器分配多个计算线程,并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报结果,包括:
采用所述中央处理器对所述多路预报数据和对应的所述预报结果进行前处理、后处理以及输入输出操作,其中,所述前处理包括:台风移速计算、台风参数插值计算以及地理相关常量的计算,所述台风参数包括经纬度、中心气压和大风半径,所述后处理包括定时提取所述预报结果以及海陆数据校验;
采用所述图像处理器对所述多路预报数据中各路预报数据包括的多个网格点的迭代运算,并将每次迭代运算的处理结果发送至所述中央处理器。
3.如权利要求1所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述各路预报数据包括多个计算网格点的数据,所述预报结果是通过所述图像处理器计算所述各计算网格点的多个核函数得到的。
4.如权利要求3所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,
所述图像处理器被配置为依次计算所述计算网格点的风应力核函数的值、连续方程核函数的值、动量方程核函数的值以及变量平滑核函数的值,其中,所述风应力核函数、所述连续方程核函数、所述动量方程核函数以及所述变量平滑核函数是对模型风场计算函数、风暴潮计算函数和平滑函数分解得到的;
所述中央处理器还被配置负责所述风应力核函数、所述连续方程核函数、所述动量方程核函数和所述变量平滑核函数的迭代循环和收敛条件的控制。
5.如权利要求1所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述由中央处理器对图像处理器分配多个计算线程,并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报结果,包括:
所述中央处理器读取第n路预报数据,并确认所述第n路预报数据不属于所述多路预报数据中的最后一路预报数据,其中,所述n为大于等于1的自然数;
在所述图像处理器中依次执行如下步骤:
根据风应力核函数计算风应力变量,获得风应力变量值;
根据连续方程核函数计算连续方程,获得水位变量值;
根据动量方程核函数计算动量方程,获得流速变量值;
根据变量平滑核函数平滑所述水位变量值和所述流速变量值,并提取最大风暴增水;
其中,当所述中央处理确定所述第n路预报数据属于所述多路预报数据中的最后一路预报数据时,则输出所述图像处理器的计算结果,所述计算结果包括所述最大风暴增水。
6.如权利要求5所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述中央处理器读取第n路预报数据,并确认所述第n路预报数据不属于所述多路预报数据中的最后一路预报数据之前,所述基于GPU并行计算的风暴潮集合数值预报方法还包括:
在所述图像处理器的全局变量中设置多个循环内变量,其中,所述循环内变量包括:水位和最大增水中的至少一个;
在所述中央处理器的全局变量中设置结果变量或者常量。
7.如权利要求6所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,通过如下公式确定所述图像处理器第一线程块中第一线程所处理的全局变量所对应的计算网格点:
i=(blockId%x-1)*blockDim%x+threadId%x
j=(blockId%y-1)*blockDim%y+threadId%y
其中,i和j分别代表全局变量经向和纬向的编号,blockId%x和blockId%y分别代表线程块经向和纬向的逻辑分布编号,blockDim%x和blockDim%y分别代表线程块经向和纬向的逻辑分布数量,threadId%x和threadId%y分别代表一个线程块中线程经向和纬向的逻辑分布编号。
8.如权利要求1所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述多路预报数据对应的多条路径是通过如下方式获取的:
根据台风误差半径确定多个同心圆;
针对所述多个同心圆中的各同心圆分别选择台风主观预报路径、以及相对于所述台风主观预报路径多个方位的辅助预报路径,作为与所述各同心圆相关的多条预报路径。
9.如权利要求8所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述权重系数是根据如下策略确定的:对应于所述台风主观预报路径的预报结果的权重系数最大,越接近所述主观预报路径的所述辅助预报路径对应的预报结果的权重系数越大,同一所述同心圆上的多条预报路径对应的多个预报结果的权重系数相同。
10.如权利要求8-9任一项所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述权重系数是根据高斯分布函数确定的。
11.如权利要求10所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述生成多路预报数据之前,所述方法还包括:设置所述台风误差半径,设置大风半径增量并设置所述多条路径的总数量;
所述针对所述多个同心圆中的各同心圆分别选择台风主观预报路径、以及相对于所述主观路径预报路径四个方位的辅助预报路径,作为与所述各同心圆相关的多条预报路径,包括:根据所述总数量、所述台风误差半径和所述大风半径增量确定所述各同心圆的所述预报路径。
12.如权利要求1所述的基于GPU并行计算的风暴潮集合数值预报方法,其特征在于,所述根据各路所述预报结果和与所述各路预报结果对应的权重系数确定输出预报结果之后,所述基于GPU并行计算的风暴潮集合数值预报方法还包括:
制作最大增水模型并显示;
制作单站概率预报模型并显示。
13.一种基于GPU并行计算的风暴潮集合数值预报装置,其特征在于,所述风暴潮的集合数值预报装置包括:
多路模拟数据生产模块,被配置为生成多路预报数据;
迭代计算模块,被配置为由中央处理器对图像处理器分配多个计算线程,并由所述图像处理器基于所述多个计算线程并行计算所述多路预报数据中各路预报数据对应的预报结果,得到多路所述预报结果;
预报结果获取模块,被配置为根据权重系数和所述多路预报结果得到预报结果。
14.一种基于GPU并行计算的风暴潮集合数值预报系统,包括控制设备和计算设备;
其中,
所述控制设备包括中央处理器,所述计算设备包括图像处理器,其中,所述控制设备被配置为执行如权利要求1-12中任一项由所述中央处理器执行的方法,所述计算设备给配置为执行如权利要求1-12中任一项由所述图像处理器执行的方法。
CN202011054190.7A 2020-09-29 2020-09-29 一种基于gpu并行计算的风暴潮集合数值预报方法以及装置 Active CN112147719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011054190.7A CN112147719B (zh) 2020-09-29 2020-09-29 一种基于gpu并行计算的风暴潮集合数值预报方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011054190.7A CN112147719B (zh) 2020-09-29 2020-09-29 一种基于gpu并行计算的风暴潮集合数值预报方法以及装置

Publications (2)

Publication Number Publication Date
CN112147719A true CN112147719A (zh) 2020-12-29
CN112147719B CN112147719B (zh) 2021-07-27

Family

ID=73894541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011054190.7A Active CN112147719B (zh) 2020-09-29 2020-09-29 一种基于gpu并行计算的风暴潮集合数值预报方法以及装置

Country Status (1)

Country Link
CN (1) CN112147719B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156525A (zh) * 2014-08-05 2014-11-19 天津大学 一种提高风暴潮灾害风险预测精度的方法
CN109102008A (zh) * 2018-07-27 2018-12-28 合肥佳讯科技有限公司 一种基于gpu的雷暴核识别方法
CN110211325A (zh) * 2019-06-27 2019-09-06 上海同望信息技术有限公司 一种基于气象大数据的区域道路结冰高精度监测预警系统
CN111489525A (zh) * 2020-03-30 2020-08-04 南京信息工程大学 多数据融合的气象预测预警方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156525A (zh) * 2014-08-05 2014-11-19 天津大学 一种提高风暴潮灾害风险预测精度的方法
CN109102008A (zh) * 2018-07-27 2018-12-28 合肥佳讯科技有限公司 一种基于gpu的雷暴核识别方法
CN110211325A (zh) * 2019-06-27 2019-09-06 上海同望信息技术有限公司 一种基于气象大数据的区域道路结冰高精度监测预警系统
CN111489525A (zh) * 2020-03-30 2020-08-04 南京信息工程大学 多数据融合的气象预测预警方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S.PATIL, M.KOSTIC, P.MAJUMDAR: "Computational Fluid Dynamics Simulation of Open-Channel Flows Over Bridge-Decks Under Various Flooding Conditions", 《PROCEEDINGS OF THE 6TH WSEAS INTERNATIONAL CONFERENCE ON FLUID MECHANICS (FLUIDS"09)》 *
王晓玲 等: "基于VOF法的风暴潮洪水演进三维数值模拟", 《中国工程科学》 *

Also Published As

Publication number Publication date
CN112147719B (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
Ver Hoef et al. SSN: An R package for spatial statistical modeling on stream networks
Akın et al. The impact of historical exclusion on the calibration of the SLEUTH urban growth model
KR102156659B1 (ko) 딥 러닝을 이용한 글로벌 부동산 가격 자동 평가 및 예측 장치 및 그 방법
Clarke et al. Calibrating SLEUTH with big data: Projecting California's land use to 2100
Ward et al. Including climate change projections in probabilistic flood risk assessment
Ergin Coastal scenery assessment by means of a fuzzy logic approach
Owadally et al. An agent-based system with temporal data mining for monitoring financial stability on insurance markets
El-Hussain et al. Probabilistic and deterministic estimates of near-field tsunami hazards in northeast Oman
CN117009887A (zh) 流域水环境质量精细化估算及分析的方法及系统
Huang et al. Influence of topographic features and stream network structure on the spatial distribution of hydrological response
Chen et al. A hierarchical allometric scaling analysis of Chinese cities: 1991–2014
Corbetta et al. Backtesting lambda value at risk
CN112147719B (zh) 一种基于gpu并行计算的风暴潮集合数值预报方法以及装置
Li et al. Local adaptation and unintended coastal vulnerability: the effect of beach nourishment on residential development in North Carolina
Qiu et al. Dredging the sand commons: the economic and geophysical drivers of beach nourishment
Jewson et al. Adjusting catastrophe model ensembles using importance sampling, with application to damage estimation for varying levels of hurricane activity
Chen Stock price prediction using adaptive time series forecasting and machine learning algorithms
Yin Dynamical fractal: Theory and case study
de Melo et al. Coastal morphodynamic emulator for early warning short-term forecasts
Yue et al. Simulation and prediction of land use change in Dongguan of China based on ANN cellular automata-Markov chain model
Wang et al. A parallel fish landscape model for ecosystem modeling
Franck Coastal communities and climate change: a dynamic model of risk perception, storms, and adaptation
Croicu et al. A fast spatial multiple imputation procedure for imprecise armed conflict events
Maclaurin et al. Understanding the Combined Impacts of Aggregation and Spatial Non‐Stationarity: The Case of Migration‐Environment Associations in Rural S outh A frica
Wang et al. Geographical ratings with spatial random effects in a two-part model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant