并行化二维流场多元数据动态可视化系统的制作方法

文档序号:12722800阅读:503来源:国知局

本发明涉及的是软件技术领域,具体的说是一种并行化二维流场多元数据动态可视化系统。



背景技术:

在地球科学领域,将海洋流场做为一种向量场来表示,是描述海洋特征的常用手段之一。目前对流场可视化的方法主要有纹理法、几何线形法和特征法等,不同的方法对流场的刻画都有其观注的重点,而在地球科学领域,人们更倾向于使用几何线形来表达真实观测或数值模拟的流场数据。随着观测技术与计算机的发展,海洋流场数据产品的时空分辨率越来越高,人们对流场可视化的要求也越来越高。首先是静态图片对流场的描述已不能满足一些特定场合的需求,尤其对于非静态流场,简单的几张图片已无法对流场的变化进行精细刻画;其次,目前在地球科学领域使用的流场表示方法多数是基于格点数据进行直线型矢量群的绘制,这种方法对流场精细结构的描述非常有限。另外,目前虽然有不少文献介绍了多种方法来进行流场的可视化,但多数是从计算机信息工程与技术角度出发,与地球科学领域的直接应用还有一定的距离。



技术实现要素:

本发明的目的在于针对现有技术的缺陷和不足,提供了一种并行化二维流场多元数据动态可视化系统,基于地球科学领域常用的工具,利用粒子追踪方法构建曲线型流线向量场来更直观地描述海洋二维流场,利用并行技术来计算粒子追踪和绘图,大大提高了处理能力和计算速度。

为实现上述目的,本发明采用的技术方案是:

并行化二维流场多元数据动态可视化系统,具体操作步骤如下:

1、流场数据准备;

2、计算粒子路径;

3、绘制流场图。

进一步,所述流场数据准备包括时间变量、经纬度坐标变量、速度分量变量和温度变量等格点化数组。

进一步,所述步骤中第(2)、(3)步的实现均通过多CPU并行的计算方式来提高处理能力和计算速度。

进一步,所述绘制的流场图是利用粒子路径形成的曲线矢量场来描述二维流场的形态,通过透明度渐变的方式表示流线方向,并利用线条颜色来叠加更多的流场信息。

本发明的有益效果为:

1、对定常流场进行粒子追踪计算,利用粒子路径形成曲线矢量场系列图片对定常流场进行动态描述;

2、对非静态流场进行粒子追踪计算,利用粒子路径形成曲线矢量场系列图片对时变的流场进行动态描述;

3、对曲线矢量流场系列图片进行染色,使得曲线矢量流场图不仅可以对流场的运动进行描述,还可以叠加水温等多元信息。

4、根据计算条件可设置多个CPU进行并行计算,极大提高粒子追踪计算和绘图的速度。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明。

并行化二维流场多元数据动态可视化系统,具体操作步骤如下

1、流场数据准备

流场数据文件为NetCDF格式,文件中应包含以下几个变量:

a)时间变量time,一维数组,记录流场数据切片的时间,具有相等的时间间隔。

b)经纬度坐标变量lon、lat,均为一维数组,记录流场数据的格点坐标,也可以用迪卡尔坐标。

c)速度分量变量u、v,均为三维数组,每个维度分别对应时间、纬度和经度,u和v分别记录流场速度的东西分量和南北分量在各格点上的数值。

d)温度变量temp,三维数组,每个维度分别对应时间、纬度和经度,记录流场格点数据对应的水温值。

其中温度变量可以和流场数据保存在同一文件中,也可以单独保存在不同的文件中,且温度变量可换为其它相关标量数组。

2、计算粒子路径

a)编译perpetual.f90

在命令行输入如下编译命令:

mpif90-o perpm perpetual_mpi.f90$optional_parameter–I/Path/To/NetCDF/Include–L/Path/To/NetCDF/lib-lnetcdf

其中$optional_parameter为编译时根据操作系统及软件平台等环境可选的Fortran编译选项,比如二进数据大小端存储方式、数据记录标记Maker的具体格式等;/Path/To/NetCDF/Include需替换为编译环境中NetCDF函数库中Include路径的具体位置;/Path/To/NetCDF/lib需替换为NetCDF函数库中Lib路径的具体位置。

b)通过Fortran的namelist机制设置与流场数据及绘图相关的参数,关键参数如下:

ncfn-流场数据文件路径

M、N-流场数据格点数

Pfnb-粒子路径计算结果文件路径

xl、yl-绘图区域的经纬度范围

fps-流场数据相邻记录间粒子追踪次数

Ns-粒子路径对应的流线长度控制参数

ds-粒子分布密度控制参数

dt-粒子追踪积分时间参数

spn-定常流场与非静态流场绘制切换开关,值为真时对定常流场进行粒子追踪计算,值为假时是对非静态流场进行粒子追踪计算。对非静态流场需要先设置其值为假对第一条记录进行粒子追踪计算并使之达到粒子分布密度动态平衡状态,然后再设置为真进行时变流场下的粒子追踪计算。

nspin-粒子追踪计算总次数

c)启动粒子追踪计算

具体命令形式如下:

mpirun–np$Nprocess perpm

其中$Nprocess为参与并行计算的CPU总个数。

3、绘制流场图

需要将perpetual.py和mplotting.py放在同一路径下,然后设置关键参数:

gfn-第2步生成的粒子格点数据文件路径

dfn-第2步生成的粒子路径文件的路径

ffn-欲保存的图片文件名

nrow、ncol-分区式并行绘图的分区参数

nt-分层式并行绘图的层数参数

nfms-第2步生成的粒子路径文件总数

fid-温度变量所在NetCDF文件路径

然后运行绘图程序mplotting.py:

命令格式具体如下:

python mplotting.py

运行完成后会产生一系列按时间序列排列的图片,利用合成软件(如imagemagick等)可以很方便地制作出动态视频。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1