CN105956226B - 一种海洋数值模式并行框架的设计方法 - Google Patents

一种海洋数值模式并行框架的设计方法 Download PDF

Info

Publication number
CN105956226B
CN105956226B CN201610243750.0A CN201610243750A CN105956226B CN 105956226 B CN105956226 B CN 105956226B CN 201610243750 A CN201610243750 A CN 201610243750A CN 105956226 B CN105956226 B CN 105956226B
Authority
CN
China
Prior art keywords
data
grid
real
type
relative
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.)
Expired - Fee Related
Application number
CN201610243750.0A
Other languages
English (en)
Other versions
CN105956226A (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.)
Ocean University of China
Original Assignee
Ocean University of China
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 Ocean University of China filed Critical Ocean University of China
Priority to CN201610243750.0A priority Critical patent/CN105956226B/zh
Publication of CN105956226A publication Critical patent/CN105956226A/zh
Application granted granted Critical
Publication of CN105956226B publication Critical patent/CN105956226B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种海洋数值模式并行框架的设计方法,通过对典型的海洋数值模式的计算特征进行分析,将并行功能模块与物理过程计算模块分离开来,并将并行功能封装成一个独立的模块。并行框架的设计只需关注并行功能的实现和并行效率的优化,无需关注具体求解的物理问题,从而具有高度的通用性;而海洋数值模式的开发可以使用并行框架实现并行化,从而可以从数据分解、进程间通讯、并行输入输出等繁琐的细节中解脱出来,更加专注于物理过程的实现。

Description

一种海洋数值模式并行框架的设计方法
技术领域
本发明涉及海洋数值处理领域,具体涉及一种海洋数值模式并行框架的设计方法。
背景技术
物理海洋研究中,数值模拟是一个非常重要的研究手段。而高分辨率海洋数值模拟的计算量是很大的,为了尽快取得模拟结果,需要借助高性能计算机来减少程序的运行时间。这就需要将已有的数值模式改为并行程序,或开发支持并行运算的数值模式。然而,并行程序的设计在思路和方法上与串行程序有着很大的差别,其开发难度也比较大。
发明内容
为解决上述问题,本发明提供了一种海洋数值模式并行框架的设计方法,通过对典型的海洋数值模式的计算特征进行分析,将并行功能模块与物理过程计算模块分离开来,并将并行功能封装成一个独立的模块。并行框架的设计只需关注并行功能的实现和并行效率的优化,无需关注具体求解的物理问题,从而具有高度的通用性;而海洋数值模式的开发可以使用并行框架实现并行化,从而可以从数据分解、进程间通讯、并行输入输出等繁琐的细节中解脱出来,更加专注于物理过程的实现。
为实现上述目的,本发明采取的技术方案为:
一种海洋数值模式并行框架的设计方法,其特征在于,包括如下步骤:
S1、完成FPOM框架的初始化工作,在使用FPOM框架的功能前,必须首先对其进行调用;
S2、释放已分配的资源,每个进行必须在程序结束前对其进行调用;
S3、进行均匀网格划分的区域分解:完成x方向的全域网格数、y方向的全域网格数、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域(包括边界网格)数据所需的x方向最小维度长度、用来存储子区域(包括边界网格)数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;
S4、进行具备负载平衡的区域分解:完成x方向的全域网格数、y方向的全域网格数、全域各网格的负载、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域(包括边界网格)数据所需的x方向最小维度长度、用来存储子区域(包括边界网格)数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;根据workload指定的负载进行区域分解,以实现负载平衡,其它与FPOM_DECOMP_UNIFORM相同;
S5、边界网格数据更新:由相邻进程更新边界网格的数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来完成character,integer和real类型的边界网格数据更新;
S6、进行循环起止范围的转换:完成内网格循环起止范围以及包含边界网格的循环起止范围的转换;
S7、进行局部下标与全局下标的转换;
S8、进行并行输入输出;
S81、并行打开文件:打开文件以进行并行读写操作,其中<TYPE>可以为CHAR,INT,REAL,分别用来进行character,integer和real类型数据的读写操作;
S82、并行关闭文件:关闭已打开的并行IO文件;
S83、并行读文件:并行读取数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来读取character,integer和real类型的数据;
S84、并行写文件:并行写入数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来写入character,integer和real类型的数据;
S9、进行数据的散发和收集;
S91、数据散发:将根进程中GArray的数据散发到各个进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;
S92、数据收集:从各进程收集数据存入到根进程的GArray中,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;
S93、共享数据:共享GArray的数据,返回一个指向共享数据的句柄,其中<TYPE>可以为CHAR,INT,REAL,分别用来共享character,integer和real类型的数据;
S94、关闭共享:关闭wh指向的共享数据;
S95、共享数据散发:从根进程将win指向的共享数据散发数据到各进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;
S96、共享数据收集:从各进程接收数据到根进程中win指向的共享数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;
S10、完成广播和规约;
S101、广播:将以dat为起始的num个数据从根进程广播到其它进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来广播character,integer和real类型的数据;
S102、规约:对value进行指定的规约操作,并将结果存入根进程,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据
S103、组规约:对value进行指定的规约操作,所有进程都可以得到规约结果,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据;
S11、进行屏显调试;
S111、显示进程信息:每个进程显示自己的ID以及相关信息;
S112、显示信息:根进程或所有进程在标准输出上显示指定的信息;
S113、显示子区域数据:根据elefmt指定的格式显示数据A,其中<TYPE>可以为CHAR,INT,REAL,分别用来显示character,integer和real类型的数据。
其中,所述内网格循环起止范围的转换具体包括:
完成x方向相对于全域网格的循环起始值的输入,函数返回值为x方向相对于子区域网格的循环起始值;
完成x方向相对于全域网格的循环结束值的输入,函数返回值为x方向相对于子区域网格的循环结束值;
完成y方向相对于全域网格的循环起始值的输入,函数返回值为y方向相对于子区域网格的循环起始值;
完成y方向相对于全域网格的循环结束值的输入,函数返回值为y方向相对于子区域网格的循环结束值。
其中,所述包含边界网格的循环起止范围的转换具体包括:
完成x方向相对于全域网格的循环起始值的输入,排除在外的边界网格数,函数返回值为x方向相对于子区域网格的循环起始值,可指定排除在外的边界网格数;
完成x方向相对于全域网格的循环结束值的输入,排除在外的边界网格数,函数返回值为x方向相对于子区域网格的循环结束值,可指定排除在外的边界网格数;
完成y方向相对于全域网格的循环起始值的输入,排除在外的边界网格数,函数返回值为y方向相对于子区域网格的循环起始值,可指定排除在外的边界网格数;
完成y方向相对于全域网格的循环结束值的输入,排除在外的边界网格数,函数返回值为y方向相对于子区域网格的循环结束值,可指定排除在外的边界网格数。
其中,所述步骤S7具体包括
完成x方向全域网格的下标的输入,将x方向全域网格下标转换为相对于子区域网格的下标;
完成y方向全域网格的下标的输入,将y方向全域网格下标转换为相对于子区域网格的下标;
完成x方向子区域网格的下标的输入,将x方向子区域网格下标转换为相对于全域网格的下标;
完成y方向子区域网格的下标的输入,将y方向子区域网格下标转换为相对于全区域网格的下标。
其中,所述FPOM框架包括如下功能:
(1)判断当前进程是否为根进程:若当前进程为根进程,则返回.TRUE.,否则返回.FALSE.;
(2)获取进程ID,并返回当前进程的ID;
(3)实现进程同步;
(4)开始计时;
(5)耗时显示:显示从上次计时开始以秒为单位经过的时间。
本发明具有以下有益效果:
将原一直长期使用的串行模式并行,提高计算效率和时效性,减少计算时间,充分使用计算资源;可以使用并行框架对海洋数值实现并行化,从而可以从数据分解、进程间通讯、并行输入输出等繁琐的细节中解脱出来,更加专注于物理过程的实现。
附图说明
图1为本发明实施例其中的渤黄海M2分潮同潮图。
图2为本发明实施例1中加速比和并行效率的示意图。
图3为本发明实施例2中印度洋流场及上层厚度异常示意图。
图4为本发明实施例2中加速比和并行效率示意图。
图5为本发明实施例3中的海表面水位起伏示意图。
图6为本发明实施例3中加速比和并行效率示意图。
图7为本发明实施例4中南海101m深度处的纬向斜压流示意图。
图8为本发明实施例3中加速比和并行效率示意图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在以下实施例中使用FPOM框架对四个海洋数值模式进行了并行化,并对并行性能进行了测试和分析。硬件平台为:一个节点,共有2个CPU,每个CPU有6个内核,主频为2.67GHz,内存大小为24GB。操作系统为:Centos Linux,开发环境为Intel Compiler 2015和Intel Parallel Studio XE 2013评估版。使用mpich2(版本1.3.2p1)作为MPI并行库进行以下算例的编译调试。
实施例1
二维潮波伴随同化数值模式的并行
本实施例使用一个二维潮波伴随同化数值模型来来模拟渤黄海的潮汐。开边界条件和底摩擦系数的确定是潮汐潮流数值模拟中很重要的一个方面,利用伴随同化方法可以反演潮汐模型中的开边界条件和底摩擦系数。本实验利用二维潮波伴随同化模型,同化高度计资料,模拟渤黄海的M2分潮。首先,将原有的串行程序使用FPOM框架改为并行程序。串行程序共有1210行(不含空行,但包含必要注释),改为并行后,共添加代码110行,修改104行,并行程序共1320行。添加行数占串行程序总行数的9.1%,修改行数占8.6%。图1为模拟得到的渤黄海M2分潮的同潮图。
下面对加速比和并行效率进行分析(图2)。该算例分别用1,2,4,6,8,10和12个进程进行了计算。从图2中看到,当使用12个进程时加速比达到了7,效率在0.6左右,并行效果良好。使用12个进程计算时的区域分解方式比使用10个进程时的负载更加平衡,因而使用12个进程时并行效率更高一些。
实施例2
一层半约化重力风生环流数值模式的并行
本算例使用一个1.5层约化重力风生海流模型进行印度洋海流的数值模拟实验。整个世界大洋都存在海流,并且其时空变化是连续的,通过它们把世界大洋有机的联系在一起。根据大洋上的实际风场,同时考虑到科氏力随纬度的变化这一事实以及地形的摩擦作用,就可以模拟出海流的基本特征,掌握了各大洋海流的基本特征,对于航运以及对气候的研究都具有重大意义。由于海流的模拟要求比较高的分辨率,因而其计算量非常大。本算例首先使用FPOM将该数值模型进行并行化,并行后程序代码共364行(不包括空行和注释行),其中在串行改并行的过程中添加代码35行,修改代码62行,分别占总代码行数的9.6%和17%,共有21处代码调用了FPOM函数/子程序。然后使用并行化的数值模式,进行了印度洋海流的数值模拟实验,并对加速比和并行效率进行了测试。在该实验中,水平分辨率为1/12度,水平方向网格数为1201×841,垂向分为2层,空间网格数共计2020082个。
图3为模拟得到的印度洋的流场以及上层厚度的异常,从中可以清晰地看到西赤道印度洋的流系很复杂,而在南印度洋存在一个逆时针的流环。
下面对加速比和并行效率进行分析(图4)。该算例分别用1,2,4,6,8,10,12个进程进行了计算,使用1个进程时计算时间约为632秒。从图4中看到,当使用12个进程时加速比为7.5左右,并行效率在0.6左右,并行效果良好。
实施例3
大洋西向强化数值模式的并行
本算例利用一个一层半正压模式模拟定常风场的作用下大洋流场西向强化现象。西向强化是大洋环流中的一个重要现象,Stommel和Munk等分别通过β效应,底摩擦以及非线性惯性作用等从理论上解释了大洋的西向强化现象。由于大洋的空间尺度往往较大,需要较大的计算量,因此往往比较耗费时间,需要通过并行缩短总的计算时间。本算例中首先使用FPOM将该数值模型进行并行化,并行后程序代码共453行(不包括空行和注释行),其中在串行改并行的过程中添加代码24行,修改代码10行,分别占总代码行数的5.3%和2.2%,共有34处代码调用了FPOM函数/子程序。然后使用并行化的数值模式,进行了大洋西向强化的数值模拟实验,并对加速比和并行效率进行了测试。在该实验中,水平分辨率为0.025°,水平方向网格数为1205×4810,垂向分为2层,空间网格数共计5796050个。
图5为模拟得到的大洋在定常风作用下导致的海平面起伏的分布及对应的海流分布状况。从图中明显可以看出,在定常风的作用下大洋西侧海面明显高于东侧海面,大洋西侧流速大于大洋东侧的流速。
下面对加速比和并行效率进行分析(图6)。该算例分别用1,2,4,6,8,10和12个进程进行了计算,使用1个进程时计算时间约为0.5小时。从图6中看到,当使用12个进程时加速比达到了11.4,效率在0.95左右。进程数为8时,其效率最小但仍可达到0.91左右,并行效果较好。由于在12个进程时采用了4×3的进程分解方案,比10个进程时的5×2更为合理,因而其效率也较高。
实施例4
三维等密度坐标内潮数值模式的并行
本算例使用一个三维等密度坐标内潮数值模型进行南海内潮的数值模拟实验。内潮是发生在海洋内部的具有潮汐频率的波动,由表面潮与海底地形相互作用而生成,其造成的海水起伏高达数百米。内潮无论是对于海洋科学研究本身还是对于人类从事海上活动都具有极其重要的意义。然而实际海洋内潮的数值模拟必须使用三维数值模式,而且在空间上要有比较高的分辨率,因而其计算量非常大。本算例中首先使用FPOM将该数值模型进行并行化,并行后程序代码共4463行(不包括空行和注释行),其中在串行改并行的过程中添加代码117行,修改代码163行,分别占总代码行数的2.6%和3.7%,共有87处代码调用了FPOM函数/子程序。然后使用并行化的数值模式,进行了南海内潮的数值模拟实验,并对加速比和并行效率进行了测试。在该实验中,水平分辨率为5′,水平方向网格数为361×361,垂向分为54层,空间网格数共计7 037 334个。
图7为模拟得到的101m深度处的纬向斜压流,从中可以清晰地看到吕宋海峡是南海内潮的主要生成源地,生成的内潮分为三个分支,分别传到太平洋、东沙群岛以及南海海盆。
下面对加速比和并行效率进行分析(图8)。该算例分别用1,2,4,6,8,10和12个进程进行了计算,使用1个进程时计算时间约为2.12小时。从图8中看到,当使用12个进程时加速比达到了8,效率在0.7左右,并行效果良好。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种海洋数值模式并行框架的设计方法,其特征在于,包括如下步骤:
S1、完成FPOM框架的初始化工作,在使用FPOM框架的功能前,必须首先对其进行调用;
S2、释放已分配的资源,每个进行必须在程序结束前对其进行调用;
S3、进行均匀网格划分的区域分解:完成x方向的全域网格数、y方向的全域网格数、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域数据所需的x方向最小维度长度、用来存储子区域数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;
S4、进行具备负载平衡的区域分解:完成x方向的全域网格数、y方向的全域网格数、全域各网格的负载、x方向的进程数、y方向的进程数、边界网格数、用来存储子区域数据所需的x方向最小维度长度、用来存储子区域数据所需的y方向最小维度长度的输入,如果为.FALSE.则在bnx和bny中返回用来存储子区域数据所需的最小维度长度;如果为.TRUE.,则使用bnx和bny中指定的维度长度来存储子区域数据根据指定的进程数,对总网格数进行区域划分,得到各进程存储的子区域的网格数;根据workload指定的负载进行区域分解,以实现负载平衡,其它与FPOM_DECOMP_UNIFORM相同;
S5、边界网格数据更新:由相邻进程更新边界网格的数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来完成character,integer和real类型的边界网格数据更新;
S6、进行循环起止范围的转换:完成内网格循环起止范围以及包含边界网格的循环起止范围的转换;
S7、进行局部下标与全局下标的转换;
S8、进行并行输入输出;
S81、并行打开文件:打开文件以进行并行读写操作,其中<TYPE>可以为CHAR,INT,REAL,分别用来进行character,integer和real类型数据的读写操作;
S82、并行关闭文件:关闭已打开的并行IO文件;
S83、并行读文件:并行读取数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来读取character,integer和real类型的数据;
S84、并行写文件:并行写入数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来写入character,integer和real类型的数据;
S9、进行数据的散发和收集;
S91、数据散发:将根进程中GArray的数据散发到各个进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;
S92、数据收集:从各进程收集数据存入到根进程的GArray中,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;
S93、共享数据:共享GArray的数据,返回一个指向共享数据的句柄,其中<TYPE>可以为CHAR,INT,REAL,分别用来共享character,integer和real类型的数据;
S94、关闭共享:关闭wh指向的共享数据;
S95、共享数据散发:从根进程将win指向的共享数据散发数据到各进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来散发character,integer和real类型的数据;
S96、共享数据收集:从各进程接收数据到根进程中win指向的共享数据,其中<TYPE>可以为CHAR,INT,REAL,分别用来收集character,integer和real类型的数据;
S10、完成广播和规约;
S101、广播:将以dat为起始的num个数据从根进程广播到其它进程,其中<TYPE>可以为CHAR,INT,REAL,分别用来广播character,integer和real类型的数据;
S102、规约:对value进行指定的规约操作,并将结果存入根进程,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据;
S103、组规约:对value进行指定的规约操作,所有进程都可以得到规约结果,其中<TYPE>可以为INT,REAL,分别用来规约integer和real类型的数据;
S11、进行屏显调试;
S111、显示进程信息:每个进程显示自己的ID以及相关信息;
S112、显示信息:根进程或所有进程在标准输出上显示指定的信息;
S113、显示子区域数据:根据elefmt指定的格式显示数据A,其中<TYPE>可以为CHAR,INT,REAL,分别用来显示character,integer和real类型的数据。
2.根据权利要求1所述的一种海洋数值模式并行框架的设计方法,其特征在于,所述内网格循环起止范围的转换具体包括:
完成x方向相对于全域网格的循环起始值的输入,函数返回值为x方向相对于子区域网格的循环起始值;
完成x方向相对于全域网格的循环结束值的输入,函数返回值为x方向相对于子区域网格的循环结束值;
完成y方向相对于全域网格的循环起始值的输入,函数返回值为y方向相对于子区域网格的循环起始值;
完成y方向相对于全域网格的循环结束值的输入,函数返回值为y方向相对于子区域网格的循环结束值。
3.根据权利要求1所述的一种海洋数值模式并行框架的设计方法,其特征在于,所述包含边界网格的循环起止范围的转换具体包括:
完成x方向相对于全域网格的循环起始值的输入,排除在外的边界网格数,函数返回值为x方向相对于子区域网格的循环起始值,可指定排除在外的边界网格数;
完成x方向相对于全域网格的循环结束值的输入,排除在外的边界网格数,函数返回值为x方向相对于子区域网格的循环结束值,可指定排除在外的边界网格数;
完成y方向相对于全域网格的循环起始值的输入,排除在外的边界网格数,函数返回值为y方向相对于子区域网格的循环起始值,可指定排除在外的边界网格数;
完成y方向相对于全域网格的循环结束值的输入,排除在外的边界网格数,函数返回值为y方向相对于子区域网格的循环结束值,可指定排除在外的边界网格数。
4.根据权利要求1所述的一种海洋数值模式并行框架的设计方法,其特征在于,所述步骤S7具体包括
完成x方向全域网格的下标的输入,将x方向全域网格下标转换为相对于子区域网格的下标;
完成y方向全域网格的下标的输入,将y方向全域网格下标转换为相对于子区域网格的下标;
完成x方向子区域网格的下标的输入,将x方向子区域网格下标转换为相对于全域网格的下标;
完成y方向子区域网格的下标的输入,将y方向子区域网格下标转换为相对于全区域网格的下标。
5.根据权利要求1所述的一种海洋数值模式并行框架的设计方法,其特征在于,所述FPOM框架包括如下功能:
(1)判断当前进程是否为根进程:若当前进程为根进程,则返回.TRUE.,否则返回.FALSE.;
(2)获取进程ID,并返回当前进程的ID;
(3)实现进程同步;
(4)开始计时;
(5)耗时显示:显示从上次计时开始以秒为单位经过的时间。
CN201610243750.0A 2016-04-14 2016-04-14 一种海洋数值模式并行框架的设计方法 Expired - Fee Related CN105956226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610243750.0A CN105956226B (zh) 2016-04-14 2016-04-14 一种海洋数值模式并行框架的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610243750.0A CN105956226B (zh) 2016-04-14 2016-04-14 一种海洋数值模式并行框架的设计方法

Publications (2)

Publication Number Publication Date
CN105956226A CN105956226A (zh) 2016-09-21
CN105956226B true CN105956226B (zh) 2019-05-03

Family

ID=56918103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610243750.0A Expired - Fee Related CN105956226B (zh) 2016-04-14 2016-04-14 一种海洋数值模式并行框架的设计方法

Country Status (1)

Country Link
CN (1) CN105956226B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209353B (zh) * 2019-05-17 2022-10-21 青岛海洋科学与技术国家实验室发展中心 区域耦合预报系统中roms模式的i/o并行加速方法、装置及介质
CN113094915B (zh) * 2021-04-21 2022-05-27 中国海洋大学 一种海流感生磁场计算方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309676A (zh) * 2013-06-27 2013-09-18 曙光信息产业(北京)有限公司 用于海洋数值模拟ROMS的Web服务封装方法以及系统
CN104298869A (zh) * 2014-10-07 2015-01-21 北京理工大学 一种弹性水翼的流固耦合特性数值预测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491259B2 (en) * 2013-03-13 2016-11-08 International Business Machines Corporation Collectively loading programs in a multiple program multiple data environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309676A (zh) * 2013-06-27 2013-09-18 曙光信息产业(北京)有限公司 用于海洋数值模拟ROMS的Web服务封装方法以及系统
CN104298869A (zh) * 2014-10-07 2015-01-21 北京理工大学 一种弹性水翼的流固耦合特性数值预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《POM海洋模式的并行算法》;李冬 等;《海洋通报》;20100615;第29卷(第3期);329-333
《风暴潮数值模式的并行化》;苗春葆 等;《计算机工程与应用》;20120111;第48卷(第2期);39-42

Also Published As

Publication number Publication date
CN105956226A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
Qi et al. An unstructured-grid finite-volume surface wave model (FVCOM-SWAVE): Implementation, validations and applications
Neill et al. Inter-annual and inter-seasonal variability of the Orkney wave power resource
Saket et al. Wave energy potential along the northern coasts of the Gulf of Oman, Iran
Chang et al. Numerical modeling of the effects of wave energy converter characteristics on nearshore wave conditions
Carballo et al. Intra-annual wave resource characterization for energy exploitation: A new decision-aid tool
CN108985521A (zh) 光伏发电系统的输出功率预测方法、装置、设备及介质
Kamranzad et al. Climate change impact on wave energy in the Persian Gulf
Rannabauer et al. ADER-DG with a-posteriori finite-volume limiting to simulate tsunamis in a parallel adaptive mesh refinement framework
Wang et al. Stable climate simulations using a realistic general circulation model with neural network parameterizations for atmospheric moist physics and radiation processes
Li et al. GPU-CA model for large-scale land-use change simulation
Wan et al. Wave energy assessment related to wave energy convertors in the coastal waters of China
Yuan et al. FUNWAVE‐GPU: Multiple‐GPU acceleration of a Boussinesq‐type wave model
Kamranzad et al. Sustainability of wave energy resources in the South China Sea based on five decades of changing climate
Mahiru Rizal et al. Preliminary study of wave energy resource assessment and its seasonal variation along the southern coasts of Java, Bali, and Nusa Tenggara waters
Rusu The near future expected wave power in the coastal environment of the Iberian Peninsula
CN105956226B (zh) 一种海洋数值模式并行框架的设计方法
Anderson et al. Projecting climate dependent coastal flood risk with a hybrid statistical dynamical model
Arbonès et al. Fast and effective multi-objective optimisation of submerged wave energy converters
Amaro et al. Big data in power systems leveraging grid optimization and wave energy integration
Lin et al. An Open‐Source, Physics‐Based, Tropical Cyclone Downscaling Model With Intensity‐Dependent Steering
Yang et al. Multi-decade high-resolution regional hindcasts for wave energy resource characterization in US coastal waters
Konarasinghe et al. Model Development for Damped and Forced Type of Oscillations in Time Series
El hou et al. Analyzing wave energy potential near Essaouira coast in Morocco
Hou et al. An efficient algorithm for generating a spherical multiple-cell grid
Kilcher et al. A scalable wave resource assessment methodology: Application to US waters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Shen Biao

Inventor after: Miao Chunbao

Inventor after: Lin Xiaopei

Inventor after: Li Mingkui

Inventor after: Qian Chengchun

Inventor after: Song Zhenya

Inventor after: Liu Haixing

Inventor after: Zhang Cong

Inventor before: Miao Chunbao

Inventor before: Shen Biao

Inventor before: Lin Xiaopei

Inventor before: Li Mingkui

Inventor before: Qian Chengchun

Inventor before: Song Zhenya

Inventor before: Liu Haixing

Inventor before: Zhang Cong

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190503

CF01 Termination of patent right due to non-payment of annual fee