一种针对近岸浪-流耦合预报模型的进程自主控制方法

文档序号:36002070发布日期:2023-11-16 14:56阅读:45来源:国知局
一种针对近岸浪-流耦合预报模型的进程自主控制方法

本发明涉及近岸海洋环境数值预测,尤其涉及一种针对近岸浪-流耦合预报模型的进程自主控制方法。


背景技术:

1、稳定、高效地获取近岸浪流的准确分析结果与预报数据,是海岸灾害防护、海岸工程施工标准设定、港口泊稳条件率定和调度作业的必要前提。根据中国海洋灾害公报,近五年(2018年~2022年),我国由风暴潮或海浪灾害造成的直接经济损失,合计超过219亿元人民币。

2、现有近岸波浪、潮汐预报多为自然资源部下属各预报中心公益提供,其预报形式单一且数据精细化程度不足,无法直接用于实际生产作业,而现有多数开源数值预报模型缺乏数智化进程自主控制算法和配套程序工具。

3、鉴于此,特提出此发明。


技术实现思路

1、本发明的目的是为了解决现有技术中存在的缺点,而提出的一种针对近岸浪-流耦合预报模型的进程自主控制方法,用于近岸海洋动力环境业务化耦合预报模型的控制,实现了对模型运行的过程控制、诊断排障、以及业务可视化。

2、为了实现上述目的,本发明采用了如下技术方案:

3、一种针对近岸浪-流耦合预报模型的进程自主控制方法,包括如下步骤:s1:基于区域海洋模型和浅水波浪模型搭建目标海域的近岸浪-流耦合预报模型;s2:配置并行的前处理模块和核心运算模块,其中,所述前处理模块用于生成与预报日期k对应的所述区域海洋模型和所述浅水波浪模型边界强迫文件,并在生成边界强迫文件后生成检测文件;所述核心运算模块用于检测是否生成与预报日期对应的检测文件,若检测到与其对应的检测文件则根据与预报日期对应的边界强迫文件修改系统运行参数,然后运行近岸浪-流耦合预报模型并存储数据,若未检测到与其对应的检测文件则进入等待;s3:配置与核心运算模块并行的诊断排障模块,所述诊断排障模块用于监测系统运行状态,并根据系统运行状态排出故障或发出报警信息;s4:配置可视化模块,所述可视化模块用于输入参数,并根据参数绘制海洋动力环境要素预警图。

4、进一步,所述前处理模块运行如下步骤:s211:获取当前系统时间,并记录为s,初始化预报日期k=0;s212:检测当前计算机网络环境状态,并下载预报日期对应的24小时的边界强迫数据;s213:将s212中下载的边界强迫数据线性的插值入所述近岸浪-流耦合预报模型的模型计算网络,生成所述区域海洋模型和所述浅水波浪模型边界强迫文件;s214:将s213中生成的边界强迫文件存入第一文件夹中,所述第一文件夹的命名中包含当前的预报日期k,并在所述第一文件夹中写入检测文件;s215:令k=k+1;s216:判断k=m,若否则返回s212,若是则进入s217;s217:获取当前系统时间,并记录为f,并在休眠24h-(f-s)后返回s211。

5、进一步,所述核心运算模块运行如下步骤:s221:获取当前系统时间,并记录为r,初始化预报日期n=0;s222创建第二文件夹,所述第二文件的命名中包含当前的预报日期n,所述第二文件夹用于存储当前预报日期的预测数据;s223:判断与n值对应的所述第一文件夹中是否存在与预报日期对应的检测文件,若否则进入s224,若是则进入s225;s224:等待预设时间后,返回s223;s225:获取与n值对应的所述第一文件夹中的边界强迫文件,并根据该边界强迫文件修改系统运行参数;s226:运行近岸浪-流耦合预报模型,并将输出的预报数据存入与n值对应的所述第二文件夹中;s227:令n=n+1;s228:判断n=m,若否则返回s222,若是则进入s229;s229:获取当前系统时间,并记录为g,并在休眠24h-(g-r)后返回s221。

6、进一步,所述s212包括如下步骤:s2121:通过python的evenlet库中timeout和gevent库中monkey设定下载预设时长;s2122:通过python的os.system(‘ping web-c1’)语句检测当前计算机网络环境状态,其中web为用以检测网络连接状态的网址;s2123:判断网络环境是否良好,若否则返回s2122,若是则进入s2124;s2124:连接ncep数据网站,开始下载当天24小时的边界强迫数据,边界强迫数据为全球波浪预报系统gfs-wave自当天00:00:00起未来24小时风场、波浪场数据;s2125:监测下载进程;s2126:判断下载进程是否超过s2121中设定的预设时长,若否则进入s2127,若是则返回s2122,并返回s2125;s2127:判断全部文件是否下载完毕,若否则返回s2122,若是则结束下载。

7、进一步,所述s223中通过python中time库设置预设时间。

8、进一步,所述s224中修改的系统运行参数包括所述区域海洋模型和所述浅水波浪模型的起止时间、输出数据文件名、热启动开关、热启动文件地址以及文件名。

9、进一步,其特征在于,所述诊断排障模块运行如下步骤:s31:监测系统运行状态,包括计算机内容是否充足、运行时间是否超出预设范围、计算机核心是否过度占用;s32:若出现异常,则通过python中psutil库获取故障进程的进程控制符pid,根据pid清理计算机后台进程,关闭故障程序并重启系统环境;s33:若出现无法自身排出的故障时,则通过python的smtplib和email库向指定技术人员发送报警邮件。

10、进一步,所述诊断排障模块诊断无异常时执行s226。

11、进一步,所述可视化模块运行如下步骤:s41:配置输入模块,用于输入起始时间、终止时间、经度、纬度、预报要素名称和数据存储格式;s42:采用欧式距离计算法寻找预报模型中距离指定位置最近的网格点提取所述近岸浪-流耦合预报模型的预报数据;s43:根据s42提取的预报数据绘制海洋动力环境要素预警图。

12、本发明与现有技术相比,其有益效果为:

13、1、本发明的方法中,基于python搭建了系统,所述前处理模块用于获取边界强迫数据(如风场边界强迫数据、波浪场边界强迫数据),并生成边界文件(如roms所需的海气边界文件、swan所需的风场和波浪场文件);所述核心运算模块用于控制所述近岸浪-流耦合预报模型的运行,具体作用包括获取所述前处理模块生成的边界文件、修改系统运行参数、模型预报数据的转移储存;所述诊断排障模块用于检测、修正和反馈系统运行过程中的故障;所述可视化模块,所述可视化模块用于绘制海洋动力环境要素预警图。

14、2、在第一天预报时,由于边界文件还未形成,所述核心运算模块的通常需要执行s223进行等待,s223通过检测检测文件实现。再一方面,由于所述前处理模块运行时间小于所述核心运算模块运算时间,因此自第二天预报,所述核心运算模块便处于连续运行状态,即不再需要等待所述前处理模块生成边界强迫文件,也即不再执行s223,也就是说所述前处理模块和所述核心运算模块均处于连续运行状态,即过程控制。可见,本发明的方法具有所述核心运算模块处理时间短,所述近岸浪-流耦合预报模型预报效率高的效果。

15、3、本发明的方法实现了所述近岸浪-流耦合预报模型运行的过程控制、诊断排障、以及业务可视化,其中过程控制采用各模块并行的方式,优化进度分配过程,提高计算资源利用率,保障所述近岸浪-流耦合预报模型在其服务周期内稳定、高效运行,可为港口调度作业、施工运维及海岸防护工作等提供可视业务化预报服务。

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