一种在WRF中尺度模式中仿真模拟飞机催化作业轨迹的方法与流程

文档序号:30371519发布日期:2022-06-11 00:43阅读:132来源:国知局
一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法
技术领域
1.本发明涉及飞机催化作业技术领域,具体地说是一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法。


背景技术:

2.人工影响天气飞机作业中,飞机作业轨迹复杂多变,而且有时也会出现多架飞机在同一时段或不同时段开展作业的情况。
3.因为上述问题,导致催化作业的数据标准不统一,作业模拟与实际情况脱节,且无法事先指定科学有效的作业轨迹或事后科学评估作业效果,导致重复计算或模拟不准确,影响作业评估效率,无形中提高作业评估成本。
4.因此需要设计一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法,通过wrf中尺度模式对上述各种情况下的飞机催化作业轨迹的仿真模拟,精确指定飞机轨迹并对应播撒催化剂,实现了精准有效的作业模拟和评估的效果。


技术实现要素:

5.本发明的目的是克服现有技术的不足,提供了一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法,通过wrf中尺度模式对上述各种情况下的飞机催化作业轨迹的仿真模拟,精确指定飞机轨迹并对应播撒催化剂,实现了精准有效作业模拟效果。
6.为了达到上述目的,本发明提供一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法,包括以下步骤:
7.s1:读取飞行作业数据,转为数值模式可以使用的数据文件;数据文件为文本文件,数据文件的数据格式为本发明专用格式,该数据格式满足各种飞机作业情况,数据文件的格式包括多架次飞行、多时段和不同催化剂类型,且可组合到数据文件中供数值模式使用;
8.s2:编写飞机飞行数据专用读取程序,程序读取飞行作业的原始数据文件,根据数据文件中催化剂播撒速率判断催化作业的开始时间和结束时间,将开始时间至结束时间这一时段内的数据记录作为有效数据保留,其他时间的数据记录作为无效数据舍弃,每一个架次的飞行数据归为一个数据组,所有有效数据均按专用格式存储到数据文件中;
9.s3:在数值模式中定义多个二维动态数组,数值模式启动后即读取数据文件的所有数据并存储到这些动态数组内,此后数值模式的所有操作均面向这些动态数组,动态数组的操作遵循数值模式的操作逻辑,可适应数值模式的串行和分布式运行方式;
10.动态数组包括:
11.seed_group存储数据组的信息;
12.seed_agent存储催化剂类型信息;
13.seed_equip存储作业飞机型号信息;
14.seed_data_org存储飞机作业原始数据记录和数据网格化过程中的中间数据记
录;
15.seed_data存储经处理后的最终的飞机作业数据记录;
16.s4:飞机轨迹数据网格化,包括以下步骤:
17.s401:数值模式模拟的地理区域采用兰伯特投影,通过调用数值模式自带的地图工具集,将各数据记录中的经纬度坐标投影到数值模式的地理区域上,再将经纬度坐标数据转化到直角坐标系下,即模式的计算网格,该计算网格在水平方向是按模式的水平分辨率等间距分布;
18.s402:将每架次飞机的数据作为一个数据组,对每个数据组选取该数据组的第一个数据记录的时间作为该组数据记录的起始时间,然后该组所有数据记录的时间均转化为与起始时间相差的秒数;
19.s403:在s402处理的同时,将每组数据的起始时间和结束时间存储到动态数组seed_group中,数据以距离基准时间的秒数表示,这里的基准时间特指数值模式模拟时初始时刻对应的时间;
20.s5:对数据进行时间加密处理,将数据记录的时间间隔缩小至指定间隔,具体为1秒或1秒以下;
21.时间加密处理涉及水平方向坐标值的计算以及垂直方向高度值的计算,针对每个数据组,从首个记录开始滚动对比相邻的两个数据记录的时间,如发现大于指定间隔的两个数据记录,即开始进行数据的时间加密处理,每个数据记录实际对应着三维直角坐标系空间中的一个点,根据上述计算步骤即可完成所有数据的时间加密工作,处理后的所有数据均存储到动态数组seed_data中,该数组包括作业时间即距开始时间的秒数、以坐标形式表示的飞机作业格点的空间位置、作业格点处的催化剂播撒速率,与此同时模式也更新了seed_group数组中与seed_data相关的索引数据;
22.s6:根据数据确定飞机轨迹并播撒催化剂。运行中的数值模式,通过查询s3中在seed_group数组中存储的起始和结束时间,以确定当前模式时刻是否处于催化时间段内,如不在催化时间段内,则不执行催化模块,否则启动催化模块,通过查询s5中存储在seed_data数组中的数据,其数据索引范围可由seed_group数组得到,来确定具体的播撒时刻、播撒点的空间位置和催化剂播撒速率,催化剂类型则由seed_agent数组得到,数值模式每使用完seed_data数组中的一个数据记录,则立即更新seed_group数组中对应的索引值范围。
23.本发明同现有技术相比,充分利用了实际作业飞机的作业数据,包括催化剂类型以及按时间顺序存储的数据记录(每条数据记录包括且不限于如下数据:时间、海拔高度、经度、纬度、催化剂播撒速率),其中数据记录以固定或不定的时间间隔依次给出(时间间隔一般在几秒到几十秒之间),催化剂类型包括碘化银和液态致冷剂两种,数据记录中的时间精确到秒,该方法实现了对于飞机催化作业的轨迹模拟,提升了作业模拟的效率和精准度,降低了作业效果评估成本。
具体实施方式
24.本发明提供一种在wrf中尺度模式中仿真模拟飞机催化作业轨迹的方法,包括以下步骤:
25.s1:读取飞行作业数据,转为数值模式可以使用的数据文件;数据文件为文本文
件,数据文件的数据格式为本发明专用格式,该数据格式满足各种飞机作业情况,数据文件的格式包括多架次飞行、多时段和不同催化剂类型,且可组合到数据文件中供数值模式使用;
26.s2:编写飞机飞行数据专用读取程序,程序读取飞行作业的原始数据文件,根据数据文件中催化剂播撒速率判断催化作业的开始时间和结束时间,将开始时间至结束时间这一时段内的数据记录作为有效数据保留,其他时间的数据记录作为无效数据舍弃,每一个架次的飞行数据归为一个数据组,所有有效数据均按专用格式存储到数据文件中;
27.s3:在数值模式中定义多个二维动态数组,数值模式启动后即读取数据文件的所有数据并存储到这些动态数组内,此后数值模式的所有操作均面向这些动态数组,动态数组的操作遵循数值模式的操作逻辑,可适应数值模式的串行和分布式运行方式;
28.动态数组包括:
29.seed_group存储数据组的信息;
30.seed_agent存储催化剂类型信息;
31.seed_equip存储作业飞机型号信息;
32.seed_data_org存储飞机作业原始数据记录和数据网格化过程中的中间数据记录;
33.seed_data存储经处理后的最终的飞机作业数据记录;
34.s4:飞机轨迹数据网格化,包括以下步骤:
35.s401:数值模式模拟的地理区域采用兰伯特投影,通过调用数值模式自带的地图工具集,将各数据记录中的经纬度坐标投影到数值模式的地理区域上,再将经纬度坐标数据转化到直角坐标系下,即模式的计算网格,该计算网格在水平方向是按模式的水平分辨率等间距分布;
36.s402:将每架次飞机的数据作为一个数据组,对每个数据组选取该数据组的第一个数据记录的时间作为该组数据记录的起始时间,然后该组所有数据记录的时间均转化为与起始时间相差的秒数;
37.s403:在s402处理的同时,将每组数据的起始时间和结束时间存储到动态数组seed_group中,数据以距离基准时间的秒数表示,这里的基准时间特指数值模式模拟时初始时刻对应的时间;
38.s5:对数据进行时间加密处理,将数据记录的时间间隔缩小至指定间隔具体为1秒或1秒以下;
39.时间加密处理涉及水平方向坐标值的计算以及垂直方向高度值的计算,针对每个数据组,从首个记录开始滚动对比相邻的两个数据记录的时间,如发现大于指定间隔的两个数据记录,即开始进行数据的时间加密处理,每个数据记录实际对应着三维直角坐标系空间中的一个点,根据上述计算步骤即可完成所有数据的时间加密工作,处理后的所有数据均存储到动态数组seed_data中,该数组包括作业时间即距起始时间的秒数、以坐标形式表示的飞机作业格点的空间位置、作业格点处的催化剂播撒速率,与此同时模式也更新了seed_group数组中与seed_data相关的索引数据;
40.s6:根据数据确定飞机轨迹并播撒催化剂,运行中的数值模式,通过查询s3中在seed_group数组中存储的起始和结束时间,以确定当前模式时刻是否处于催化时间段内,
如不在催化时间段内,则不执行催化模块,否则启动催化模块,通过查询s5中存储在seed_data数组中的数据,其数据索引范围可由seed_group数组得到,来确定具体的播撒时刻、播撒点的空间位置和催化剂播撒速率,催化剂类型则由seed_agent数组得到,数值模式每使用完seed_data数组中的一个数据记录,则立即更新seed_group数组中对应的索引值范围。
41.实施例1:
42.1.读取飞行作业数据,转为数值模式可以使用的数据文件。
43.该数据文件为文本文件,其数据格式为本方法中自定义的专用格式,文件名命名为cams_seed_data。该数据文件的数据格式可满足各种飞机作业情况,如多架次飞行、多时段、不同催化剂类型的各种数据均可组合到该文件中,供数值模式使用。
44.本方法编写了飞机飞行数据专用读取程序a,由程序a读取飞行作业的原始数据文件,程序a可以一次性处理所有架次的飞机数据,程序a根据原始数据文件中催化剂播撒速率判断数据是否有效,播撒速率为正值的是有效数据,播撒速率为0或负值或空值时则为无效数据,程序a通过统计这些有效数据得到播撒的开始时间和结束时间,并将这一时段内的数据记录作为有效数据保留,其他时间的数据记录作为无效数据舍弃,每一个架次的飞行数据归为一个数据组,最后,所有有效数据均按专用格式统一存储到cams_seed_data文件中。
45.2.在数值模式中定义多个二维动态数组,数值模式启动后即读取cams_seed_data的所有数据并存储到这些动态数组内,此后数值模式的所有操作均面向这些动态数组。动态数组的操作遵循数值模式的操作逻辑,可适应数值模式的串行和分布式运行方式。定义的动态数组主要包括:
46.seed_group存储数据组的信息
47.seed_agent存储催化剂类型信息
48.seed_equip存储作业飞机型号信息
49.seed_data_org存储飞机作业原始数据记录和数据网格化过程中的中间数据记录
50.seed_data存储经处理后的最终的飞机作业数据记录
51.3.飞机轨迹数据网格化
52.i)数值模式模拟的地理区域一般采用兰伯特投影,因此,通过调用数值模式自带的地图工具集,首先将各数据记录中的经纬度坐标投影到数值模式的地理区域上,然后再将这些经纬度坐标数据转化到直角坐标系下,即模式的计算网格,该计算网格在水平方向是按模式的水平分辨率等间距分布(如模式水平分辨率为1km,则计算网格上每个网格的水平尺度均为1km
×
1km)。
53.ii)将每架次飞机的数据作为一个数据组,对每个数据组,选取该数据组的第一个数据记录的时间作为该组数据记录的起始时间,然后该组所有数据记录的时间均转化为与起始时间相差的秒数。
54.iii)在第ii步处理的同时,将每组数据的起始时间和结束时间存储到动态数组seed_group中,以备后续使用,数据以距离基准时间的秒数表示,这里的基准时间特指数值模式模拟时初始时刻对应的时间。
55.经上述处理后,所有数据记录变为(均为实数):时间秒数t、东西向格点序号i、南北向格点序号j、高度h、播撒率r。所有数据记录存储在seed_data_org数组中。
56.此后所有的计算均在计算网格上即直角坐标系中对seed_data_org数组中的数据进行处理,这样在水平方向上就无需再考虑地图投影问题,而且由于水平方向上网格是等间距的,所以后续第4步的计算中无需考虑网格的实际物理距离是多少km,仅通过计算i、j的值即可确定飞机在模式网格中的水平位置。
57.4.对数据进行时间加密处理,将数据记录的时间间隔缩小到指定间隔具体为1秒或1秒以下。
58.步骤3处理后的数据,每个数据组中,相邻的数据记录之间的时间间隔一般在几秒到几十秒之间,如果时间间隔较大,在数值模式模拟时会出现轨迹不连续的现象,因此需要将数据的时间间隔加密,考虑到人影飞机作业时的飞行速度(一般在100m/s左右)以及数值模式模拟时采用的空间分辨率(1-3km)和计算时步(一般为几秒到数十秒),将时间间隔加密到1秒一个记录足以满足模拟需求,当然,本方法也支持低于1秒的时间间隔。数据的时间加密处理涉及水平方向i、j的值的计算以及垂直方向高度即h值的计算(注意:均为实数)。假定指定间隔为1秒,针对每个数据组,从首个记录开始滚动对比相邻的两个数据记录的时间,如发现大于1秒间隔的两个数据记录,即开始进行数据的时间加密处理。每个数据记录实际对应着三维直角坐标系空间中的一个点,假设两个点的空间坐标分别为a点(i1,j1,h1)、b点(i2,j2,h2),飞机由t1时刻从a点飞向b点,t2时刻到达b点,期间也假定飞机催化剂播撒速率与a点一致,故只需计算飞机的空间位置坐标即可,处理的步骤如下:
59.i)计算a、b两点的时间间隔秒数s=t2-t1
60.ii)计算a、b两点间的网格距离l、两点连线的斜率k、两点间高度差h
61.iii)计算每1秒钟飞机行进的平均距离dl和平均高度变化dh,即dl=l/s,dh=h/s
62.iv)由a点坐标、dl和斜率k即可计算出1秒后飞机经a点到达的c点的水平坐标(i3、j3),同时c点的高度即为h3=h1+dh,最终确定c点坐标为(i3、j3、h3)
63.v)将c点作为新的a点,重复第iv步,可依次求出ab之间各加密点的坐标。
64.以上为一般情况下的计算处理,当a、b两点处于同一网格内、或i坐标相同、或j坐标相同时,则上述计算简化。
65.根据上述计算步骤即可完成所有数据的时间加密工作,处理后的所有数据均存储到动态数组seed_data中,该数组包括作业时间即距起始时间的秒数、以(i,j,h)形式表示的飞机作业格点的空间位置、作业格点处的催化剂播撒速率,与此同时模式也更新了seed_group数组中与seed_data相关的索引数据。
66.至此,为模式催化模拟的所有数据准备完毕。
67.5.根据数据确定飞机轨迹并播撒催化剂。
68.运行中的数值模式,通过查询步骤2第iii步中在seed_group数组中存储的起始和结束时间,以确定当前模式时刻是否处于催化时间段内。如不在催化时间段内,则不执行催化模块;否则,启动催化模块,通过查询步骤4中存储在seed_data数组中的数据(其数据索引范围可由seed_group数组得到)来确定播撒点的具体播撒时刻和空间位置,当判断处于播撒时刻时,即进行空间位置的确定,以查询到的轨迹点(i,j,h)为例,模式
69.首先确定要进行催化的格点的水平坐标(i,j),然后再通过高度h与模式网格点的高度对比,确定计算网格中播撒格点在垂直方向的序号k,这样催化格点即被三个方向的格点序号(i,j,k)所唯一确定,然后按seed_data数组中的播撒速率以及seed_agent数组中存
储的该组数据的催化剂类型,在该格点执行催化播撒,如此类推,即可完成类似实际作业中飞机催化作业的模拟,期间,数值模式每使用完seed_data数组中的一个数据记录,则立即更新seed_group数组中对应的索引值范围。
70.以上,对本发明的实施方式进行了说明,但本发明的范围并不仅仅限于此,使用者可以在不脱离本发明的主旨的范围内进行各种变更,加以实施,但是都包括在本专利的保护范围内。
71.本发明从整体上解决了现有飞机作业轨迹复杂多变,而且有时也会出现多架飞机在同一时段或不同时段开展作业的情况,通过对飞机催化作业轨迹的精准模拟,可以指定飞机轨迹并对应播撒催化剂,实现了精准有效的作业模拟效果,提升效率的同时,极大降低了飞机催化作业效果的评估成本。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1