情景模拟系统、计算平台和存储介质的制作方法

未命名 09-14 阅读:84 评论:0


1.本公开涉及计算机技术领域,尤其涉及一种情景模拟系统、计算平台和存储介质。


背景技术:

2.空气质量数值模式(如naqpms、cmaq、camx等)以大气物理和化学理论为基础,对实际大气污染的生消演变进行模拟,可用于空气质量预报、大气环境治理效果评估等多个业务场景。
3.采用空气质量数值模式评估大气环境治理效果的具体实施方案是:首先,基于已经采取的(或准备采取)的管控措施,估算管控措施对大气污染排放源(其中记载so2、nox、co等不同污染物的排放量)的影响;然后,分别采用不管控的基准排放源和管控排放源(分别称为基准情景和控制情景,控制情景可以有多种,对应不同的管控方案),输入空气质量数值模式进行大气污染物浓度模拟;最后,分析基准情景和管控情景下的大气污染物浓度模拟结果之间的差异,即可量化评估不同管控方案的实施效果。
4.在上述实施方案中,一方面管控方案的复杂度非常高,通常包括不同排放地区(通常按照行政区划分)、部门(例如,工业源、机动车排放源等)、时段(不同时段的减排方案不同)和污染物的差异,这就导致制作管控情景的排放源难度很大;另一方面,在制定管控措施的时候,由于大气污染形成机制的复杂性,环保决策人员往往无法确定将要实施的管控措施是否能够达到预期的管控效果,因此他们经常会设计多组不同的管控方案,然后采用数值模式进行多组情景模拟,最终从中选择一组最佳的方案。这就导致了需要多次配置模式运行参数,反复运行数值模式,这一过程也是非常繁琐的。最后,情景模拟的输出数据量巨大,分析多组情景模拟的结果也是十分繁琐的工作。
5.为了解决上述的问题,相关技术中把数值模式部署于高性能计算平台,把数据处理和可视化模块部署于另一服务器。
6.一种实施方式是,数值模式采用固定的几套情景,设置定时任务在高性能平台上自动运行,例如,每天运行一次,每次运行4组情景。数据处理和可视化模块定时检测数值模式的运行状态日志,一旦模式运行完成就读取运行数据进行可视化分析。这种方法中数据处理和可视化模块和数值模式都是独立运行的,数据处理和可视化模块难以对数值模式进行操作,无法灵活设置多种复杂的管控情景。
7.另一种实施方式是,数据处理和可视化模块把配置文件推送到高性能计算平台,数值模式定时监测配置文件的状态,当配置文件传输完成后即开始情景模拟。同时,数据处理和可视化模块通过监测数值模式的运行日志判断模式运行状态,一旦数值模式运行完成就读取运行数据进行可视化分析。这种方法虽然实现了简单的前后台交互,但是当情景模拟数量巨大时,不同情景之间的运行状态难以灵活调度,可能会出现运行冲突和计算资源挤兑的问题。另外,交互都是通过文件判断来实现的,交互的时效性低,而且直接操作文件的安全性也无法保障。


技术实现要素:

8.本公开实施例提供一种情景模拟系统、计算平台和存储介质,以至少对情景模拟进行运行控制和状态监测,能够提高情景模拟的灵活性和便捷性。
9.根据本公开的一方面,提供了一种情景模拟系统,包括:情景处理模块,用于基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据,其中,一个情景模拟任务对应一组情景参数,情景模拟任务之间相互独立;数值模式模拟模块,用于基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据;调度模块,用于基于任务控制指令调度情景处理模块和数值模式模拟模块以运行情景模拟任务,以及监测情景模拟任务的运行状态;接口模块;前端模块,用于通过接口模块向调度模块发送任务控制指令,通过接口模块从调度模块获取情景模拟任务的运行状态,通过接口模块获取情景模拟任务的模拟结果数据。
10.可选地,上述任务控制指令包括开始运行指令,其中,开始运行指令用于指示开始运行指定的情景模拟任务;调度模块,用于:响应于前端模块通过接口模块发送的开始运行指令,触发情景处理模块基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据;监测所述情景处理模块的运行状态;在监测到情景处理模块生成情景模拟任务对应的情景输入数据之后,触发数值模式模拟模块基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
11.可选地,上述任务控制指令还包括改变运行状态的指令,改变运行状态的指令用于改变指定的情景模拟任务的运行状态,改变运行状态的指令包括:终止、挂起或重新开始。
12.可选地,上述前端模块,用于通过接口模块获取参数配置项,向用户显示包括参数配置项的第一配置页面,接收用户通过第一配置页面输入的一个或多个情景模拟任务的情景参数,通过接口模块生成情景模拟配置文件,其中,情景模拟配置文件包括该一个或多个情景模拟任务的情景参数;情景处理模块,用于从情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。
13.可选地,上述前端模块,用于通过接口模块获取模块配置项,向用户显示包括模块配置项的第二配置页面,接收用户通过第二配置页面输入一个或多个情景模拟任务的模块配置;通过接口模块生成上述情景模拟配置文件,上述情景模拟配置文件还包括一个或多个情景模拟任务的模块配置。
14.可选地,上述模块配置包括:执行情景模拟任务的数值模式;数值模式模拟模块,用于使用情景模拟任务的模块配置指定的数值模式,基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
15.可选地,上述前端模块,用于通过接口模块从调度模块获取情景模拟任务的运行状态,在情景模拟任务的运行状态为完成后,通过接口模块获取情景模拟任务的模拟结果数据。
16.可选地,上述接口模块包括:配置服务,用于响应于前端模块的调用,向前端模块发送参数配置项和/或模块配置项,接收前端模块发送的情景参数和/或模块配置,基于情景参数和/或模块配置生成情景模拟配置文件;调度服务,用于向调度模块传递来自前端模块的任务控制指令;向前端模块传递来自调度模块的运行状态;数据服务,用于响应于前端
模块的调用,向前端模块发送情景模拟任务的模拟结果数据。
17.根据本公开的另一方面,提供了一种计算平台,包括:一个或多个处理器;以及存储程序的存储器,其中,程序用于实现上述的情景模拟系统。
18.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于实现上述的情景模拟系统。
19.本技术实施例中提供的一个或多个技术方案,接口模块提供前端模块与其他模块交互的接口,前端模块通过接口模块向调度模块发送任务控制指令,通过接口模块从调度模块获取情景模拟任务的运行状态,通过接口模块获取情景模拟任务的模拟结果数据,调度模块基于任务控制指令调度情景处理模块和数值模式模拟模块以运行情景模拟任务,以及监测情景模拟任务的运行状态,能够控制情景模拟任务并监测情景模拟任务的运行状态。通过接口模块,能够对前端系统和后台模型进行解耦,保证交互效率和安全性,同时只要保证接口不变,前端和后台模型可独立开发、升级后无缝对接,能够提高开发效率。
附图说明
20.在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:图1示出了根据本公开示例性实施例的情景模拟系统的示意性框图;图2示出了根据本公开示例性实施例的情景模拟系统的示意性框图;图3示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
21.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
22.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
23.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
24.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
25.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
26.需要说明的是,本发明实施例提供的情景模拟系统可以部署于一个或多个电子设
备,本说明书对此不作限定;其中,电子设备可以是终端(即客户端)或者服务器,那么在部署于多个电子设备,且多个电子设备中包括至少一个终端和至少一个服务器时,本说明书提供的情景模拟系统可由终端和服务器共同执行。相应的,此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能语音交互设备、智能家电、车载终端、飞行器,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(cloud computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
27.根据本公开实施例提供了一种情景模拟系统。本实施例中,一个情景模拟任务用于对一种排放情景的模拟,一个情景模拟任务对应一组情景参数,情景模拟任务之间相互独立。多个情景的情景模拟任务可以组成任务组,一个任务组中包括多个情景对应的情景模拟任务。本公开中,情景模拟可以是对历史的模拟,也可以是对未来的预测,本公开对此不作限定。
28.图1示出了根据本公开示例性实施例的情景模拟系统的示意性框图,如图1所示情景模拟系统100包括:情景处理模块101、数值模式模拟模块102、调度模块103、接口模块104和前端模块105。
29.情景处理模块101,可以用于基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据,其中,一个情景模拟任务对应一组情景参数,情景模拟任务之间相互独立。
30.本实施例中,情景模拟任务包括但不限于模拟管控措施下的大气污染物浓度,以评估管控措施对空气质量的影响。通过模拟多种管控措施下的大气污染物浓度,可以评估管控措施之间的差异。通过将管控措施下的大气污染物浓度与未采用管控措施的大气污染物浓度比较,可以评估管控措施的效果。
31.本实施例中,多个情景模拟任务可以组成一组模拟任务。例如,为了评估比较多个管控措施,每个管控措施可以作为一个情景模拟任务,多个管控措施对应的多个情景模拟任务组成一组模拟任务。
32.本实施例中,情景参数与情景模拟任务对应。情景参数可以是定义管控措施的任何参数。示例性的,在评估管控措施的应用中,情景参数可以包括但不限于:减排污染物、污染物减排比例、减排时段和减排地区等。
33.数值模式模拟模块102,可以用于基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
34.数值模式模拟模块102可以基于情景模拟任务对应的情景输入数据进行数值模式模拟。示例性的,在评估管控措施的应用中,情景输入数据为管控措施下或未采用管控措施的排放源数据。本实施例中,未采用管控措施的情景称为基准情景,基准情景对应的排放源数据称为基准排放源数据;采用管控措施的情景称为减排情景,减排情景对应的排放源数据称为减排排放源数据。排放源数据通常为网格化的排放清单。
35.本实施例中,数值模式模拟模块102可以包括一种或多种空气质量数值模式,空气质量数值模式可以包括但不限于naqpms、cmaq、camx等。空气质量数值模式可以基于排放源
数据模拟大气污染的浓度。
36.本实施例中,大气污染物可以包括但不限于含硫化合物(so2、h2s 等)、含氮化合物(no、no2、nh3等)、含碳化合物(co、vocs 等)、光化学氧化剂(o3、h2o2等)、含卤素化合物(hcl、hf 等)、颗粒物、持久性有机污染物。
37.在一些实施方式中,数值模式模拟模块102还可以包括一种或多种气象模式,气象模式用于模拟气象场。在一些实施方式中,数值模式模拟模块102从其他系统中获取气象场,也就是气象模式独立于数值模式模拟模块102。
38.调度模块103,可以用于基于任务控制指令调度情景处理模块101和数值模式模拟模块102以运行情景模拟任务,以及监测情景模拟任务的运行状态。情景处理模块101和数值模式模拟模块102之间具有依赖关系,具体地,对于一个情景模拟任务,数值模式模拟模块102在情景处理模块101生成情景模拟任务对应的情景输入数据后进行数值模拟,也就是说对于一个情景模拟任务,首先调度情景处理模块101生成情景模拟任务对应的情景输入数据,然后调度数值模式模拟模块102基于情景模拟任务对应的情景输入数据进行数值模式模拟。
39.在一些实施方式中,调度模块103还可以用于调度多个情景模拟任务。在一些示例中,调用模块103调度多个情景模拟任务顺序执行。例如,按照情景模拟任务的提交顺序执行。在一些示例中,调度模块103调度多个情景模拟任务中至少部分情景模拟任务并行执行。例如,调度模块103可以与高性能计算集群的作业管理器(如slurm、pbs、lsf等)进行通信和交互,如果计算资源充足,则所有计算任务可以并行计算。如果计算资源不足,作业管理器会根据任务提交的先后顺序,排队运行。
40.本实施例中,调度模块103可以采用监控管理调度技术,例如ecflow等,本实施例对此不作限定。
41.接口模块104,可以用于前端模块105与数值模式模拟模块102、调度模块103等模块之间的交互。通过接口模块,能够对前端系统和后台模型进行解耦,保证交互效率和安全性,同时只要保证接口不变,前端和后台模型可独立开发、升级后无缝对接,能够提高开发效率。
42.本实施例中,接口模块104可以包括一个或多个服务(例如http服务),以服务方式进行模块之间的交互。
43.前端模块105,可以用于通过接口模块104向调度模块103发送任务控制指令。
44.本实施例中,前端模块105可以接收用户的输入,响应于用户的输入,通过接口模块105向调度模块103发送任务控制指令。
45.上述任务控制指令可以包括开始运行指令,其中,开始运行指令用于指示开始运行指定的情景模拟任务。开始运行指令可以指示开始一个或多个情景模拟任务。调度模块103可以响应于前端模块105通过接口模块104发送的开始运行指令,触发情景处理模块101基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据;监测情景处理模块101的运行状态;在监测到情景处理模块101生成情景模拟任务对应的情景输入数据之后,触发数值模式模拟模块102基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
46.上述任务控制指令还可以包括改变运行状态的指令,改变运行状态的指令用于改
变指定的情景模拟任务的运行状态,改变运行状态的指令包括:终止、挂起或重新开始。改变运行状态的指令可以指示改变一个或多个情景模拟任务的运行状态。
47.前端模块105可以通过接口模块104从调度模块103获取情景模拟任务的运行状态。
48.本实施例中,前端模块105可以接收用户的输入,响应于用户的输入,通过接口模块104请求从调度模块103获取情景模拟任务的运行状态,接收接口模块104从调度模块103获取的情景模拟任务的运行状态。本实施例中,接口模块104和调度模块103可以向前端模块105推送情景模拟任务的运行状态。
49.本实施例中,情景模拟任务的运行状态可以包括:等待中、正在运行、正常结束和运行中断等。情景模拟任务的运行状态可以包括情景处理模块101、数值模式模拟模块102的运行状态。
50.前端模块105可以通过接口模块104获取情景模拟任务的模拟结果数据。
51.本实施例中,前端模块105,可以通过接口模块104从调度模块103获取情景模拟任务的运行状态,在情景模拟任务的运行状态为完成后,通过接口模块104获取情景模拟任务的模拟结果数据。
52.在一些实施方式中,前端模块105可以通过接口模块104删除情景模拟任务的模拟结果数据。示例性的,前端模块105可以指示删除一个或多个情景模拟任务的模拟结果数据,例如,前端模块105可以在删除模拟结果数据的请求中携带时间范围,指示删除该时间范围内的情景模拟任务的模拟结果数据,或者前端模块105可以在删除模拟结果数据的请求中携带情景模拟任务的标识,指示删除与该标识对应的情景模拟任务的模拟结果数据。
53.本实施例中,前端模块105可以对模拟结果数据进行可视化渲染,以供用户浏览分析。对模拟结果数据进行可视化渲染可以参见相关技术,本说明书对此不作限定。示例性的,在评估管控措施的应用中,一个情景模拟任务的模拟结果数据可以包括一种或多种污染物在时间和空间上的分布,可以渲染多个情景模拟任务对应的模拟结果数据,得到多个情景模拟任务对应的污染物在时间和空间上的分布。
54.在一些实施方式中,前端模块105可以通过接口模块104获取参数配置项,向用户显示包括参数配置项的第一配置页面,接收用户通过第一配置页面输入的一个或多个情景模拟任务的情景参数,通过接口模块104生成情景模拟配置文件,其中,情景模拟配置文件包括该一个或多个情景模拟任务的情景参数。由此实现对情景的灵活配置,便于根据需要设置相应的情景模拟任务。而相关技术中则只能执行固有的几种情景。
55.情景处理模块101可以从情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。调度模块103可以响应于前端模块105通过接口模块104发送的开始运行指令,触发情景处理模块101。情景处理模块101被触发后,从情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。通过调度模块103基于任务控制指令调度情景处理模块101读取情景配置文件,能够提高交互的时效性和可靠性。而相关技术中交互是通过文件判断来实现的,交互的时效性低,而且直接操作文件的安全性也无法保障。
56.本实施例中,情景模拟配置文件中可以配置一个或多个情景模拟任务的情景参
数。例如,可以配置多个管控措施对应的情景,每个情景配置相应的情景参数。
57.在一些实施方式中,前端模块105还用于通过接口模块104获取模块配置项,向用户显示包括模块配置项的第二配置页面,接收用户通过第二配置页面输入一个或多个情景模拟任务的模块配置;通过接口模块生成上述情景模拟配置文件,上述情景模拟配置文件还包括一个或多个情景模拟任务的模块配置。
58.作为一种实施方式,上述模块配置可以包括执行情景模拟任务的数值模式。数值模式模拟模块102可以用于使用情景模拟任务的模块配置指定的数值模式,基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。示例性,可以指定naqpms、cmaq、camx等中的一个进行相应的数值模式模拟。
59.在一些实施方式中,前端模块105还用于通过接口模块104查询、删除或修改情景模拟配置文件。作为一种实施方式,前端模块105可以通过接口模块104读取情景模拟配置文件,显示情景参数和/或模块配置,并接收对情景参数、模块配置的调整,形成新的情景参数、模块配置,将新的情景参数、模块配置更新到情景模拟配置文件。
60.基于上述的前端模块105,接口模块104可以包括但不限于配置服务、调度服务和数据服务,服务可以是http服务。
61.配置服务,用于响应于前端模块105的调用,向前端模块105发送参数配置项和/或模块配置项,接收前端模块105发送的情景参数和/或模块配置,基于情景参数和/或模块配置生成情景模拟配置文件,以供其他模块使用。配置服务,还可以响应于前端模块105的调用,查询、删除或修改情景模拟配置文件。例如,前端模块105可以通过配置服务读取情景模拟配置文件,显示情景参数和/或模块配置,并接收对情景参数、模块配置的调整,形成新的情景参数、模块配置,将新的情景参数、模块配置更新到情景模拟配置文件。
62.调度服务,用于向调度模块103传递来自前端模块105的任务控制指令。示例性的,任务控制指令可以包括开始运行指令、改变运行状态的指令。调度服务,还可以向前端模块105传递来自调度模块103的运行状态,运行状态是指情景模拟任务的状态。情景模拟任务的状态可以包括整体状态,例如,运行状态可以包括:等待中、正在运行、正常结束和运行中断等。情景模拟任务的状态可以包括阶段状态,例如,对于正在运行的情景模拟任务,可以是情景输入数据处理中、数值模式处理中等。
63.数据服务,用于响应于前端模块105的调用,向前端模块105发送情景模拟任务的模拟结果数据。在一些示例中,数据服务还可以响应于前端模块105的调用,删除历史模拟结果数据。其中,前端模块105可以指示删除一个或多个情景模拟任务的模拟结果数据,例如,前端模块105可以在删除模拟结果数据的请求中携带时间范围,指示删除该时间范围内的情景模拟任务的模拟结果数据,或者前端模块105可以在删除模拟结果数据的请求中携带情景模拟任务的标识,指示删除与该标识对应的情景模拟任务的模拟结果数据。
64.下面对基于本实施例的情景模拟系统的情景模拟过程进行示例性说明。
65.用户可以在前端模块提供的用户界面上完成情景模拟方案配置,包括情景模拟时段、管控措施、拟采用的数值模式(如naqpms、cmaq、cmax等)等参数,并提交配置确认指令。前端模块可以调用接口模块生成、修改、查询、删除情景模拟配置文件。
66.用户可以在前端模块提供的用户界面上点击开始运行指令。前端模块调用接口模块,通过调度模块控制读取情景模拟配置文件,并调用相关模块读取各自的配置文件开始
有序运行情景模拟。每个管控方案对应于一个情景模拟任务。
67.在情景模拟任务运行过程中,前端模块可以通过持续调用接口模块,通过调度模块动态查询情景模拟任务的运行状态,等待运行完成。前端模块可以在用户界面上显示在这期间可以随时终止运行并配置新的情景模拟。示例性的,可以终止多组管控方案对应的一组情景模拟任务,也可以终止任一一个情景模拟任务,例如,终止一个管控方案对应的情景模拟任务。
68.情景模拟任务运行完成后,前端模块可以通过接口模块读取情景模拟任务的模拟结果数据并对数据进行可视化渲染,供用户浏览分析。前端模块可以调用接口模块删除已经完成分析的情景模拟结果数据。
69.下面对更详细的情景模拟系统进行说明。
70.图2示出了根据本公开示例性实施例的情景模拟系统的示意性框图,如图2所示情景模拟系统200可以包括:客户端210、前端服务器220和模拟服务器230。应当理解,前端服务器220和模拟服务器230也可为同一服务器,本实施例对此不作限定。
71.客户端210可以包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能语音交互设备、智能家电等。
72.前端服务器220和模拟服务器230可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(cloud computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
73.前端服务器220中部署前端模块221。客户端210可以包括网络浏览器或应用程序,网络浏览器或应用程序与前端服务器220通信。
74.模拟服务器230中部署:情景处理模块231、数值模式模拟模块232、ecflow服务端233、和接口模块234。
75.前端服务器220与模拟服务器230通信连接。前端模块221通过接口模块234与情景处理模块231、数值模式模拟模块232、ecflow服务端(server)233等通信。前端模块221与接口模块234之间可以通过http 请求(request)和http响应(response)进行消息交互。接口模块234与情景处理模块231、数值模式模拟模块232、ecflow服务端(server)233也可以通过http 请求和http 响应进行消息交互。
76.情景处理模块231,可以用于基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。本实施例中,情景模拟任务包括但不限于模拟管控措施下的大气污染物浓度,以评估管控措施对空气质量的影响。通过模拟多种管控措施下的大气污染物浓度,可以评估管控措施之间的差异。通过将管控措施下的大气污染物浓度与未采用管控措施的大气污染物浓度比较,可以评估管控措施的效果。
77.本实施例中,情景参数与情景模拟任务对应。情景参数可以是定义管控措施的任何参数。示例性的,在评估管控措施的应用中,情景参数可以包括但不限于:污染物减排比例、减排时段和减排地区等。情景处理模块231可以基于情景参数将基准排放源处理成情景排放源(即情景输入数据)。
78.数值模式模拟模块232,可以用于基于情景模拟任务对应的情景输入数据进行数
值模式模拟,以产生情景模拟任务对应的模拟结果数据。本实施例中,数值模式模拟模块232可以包括一种或多种空气质量数值模式,空气质量数值模式可以包括但不限于naqpms、cmaq、camx等。空气质量数值模式可以基于排放源数据模拟大气污染的浓度。本实施例中,大气污染物可以包括但不限于含硫化合物(so2、h2s 等)、含氮化合物(no、no2、nh3等)、含碳化合物(co、vocs 等)、光化学氧化剂(o3、h2o2等)、含卤素化合物(hcl、hf 等)、颗粒物、持久性有机污染物。
79.数值模式模拟模块232可以基于情景模拟任务对应的情景排放源进行数值模式模拟。数值模式模拟模块232可以读取情景排放源和基准排放源,运行空气质量数值模式及其前处理、后处理模块等,输出模拟结果,也就是情景排放源对应的大气污染浓度等数据。
80.情景处理模块231和数值模式模拟模块232等模块共同完成情景模拟任务,并且数值模式模拟模块232依赖于情景处理模块231的输出。情景处理模块231和数值模式模拟模块232等模块作为情景模拟任务的节点。
81.ecflow服务端233基于任务控制指令调度情景处理模块231和数值模式模拟模块232以运行情景模拟任务,以及监测情景模拟任务的运行状态。ecflow服务端233可以基于模块及模块之间的依赖关系,进行情景模拟任务。示例性的,可以通过脚本定义模块及模块之间的依赖关系,ecflow服务端233可以读取脚本以确定模块及模块之间的依赖关系。
82.接口模块234以服务(例如http服务)方式供其他模块调用。下面对接口模块234包括的服务及模块之间的调用进行示例性说明。
83.如图2所示,接口模块234可以包括调度服务2342,调度服务2342作为ecflow服务端233的客户端(即ecflow客户端,ecflow client),调度服务2342可以由前端模块221调用。调度服务2342可以用于向ecflow服务端233传递来自前端模块221的任务控制指令,向前端模块221传递来自ecflow服务端233的运行状态。
84.前端模块221可以调用调度服务2342,通过调度服务2342向ecflow服务端233发送任务控制指令。在此之前,前端模块221可以在客户端210显示用于控制情景模拟任务的用户界面。客户端210可以通过用于控制情景模拟任务的用户界面接收用户输入,基于用户输入向前端模块221发送相应的任务控制指令。前端模块221在接收到客户端210的指令后调用调度服务2342,通过调度服务2342向ecflow服务端233发送该任务控制指令。ecflow服务端233接收该任务控制指令,基于该任务控制指令控制情景模拟任务。
85.示例性的,客户端210可以通过用于控制情景模拟任务的用户界面接收用户输入,该用户输入可以用于对一个或多个情景模拟任务进行控制。
86.上述任务控制指令可以包括开始运行指令,其中,开始运行指令用于指示开始运行指定的情景模拟任务。ecflow服务端233可以响应于前端模块221通过调度服务2342发送的开始运行指令,触发情景处理模块231基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据;监测情景处理模块231的运行状态;在监测到情景处理模块231生成情景模拟任务对应的情景输入数据之后,触发数值模式模拟模块232基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
87.上述任务控制指令还可以包括改变运行状态的指令,改变运行状态的指令用于改变指定的情景模拟任务的运行状态,改变运行状态的指令包括:终止、挂起或重新开始。前端模块221可以调用调度服务2342,通过调度服务2342向ecflow服务端233发送改变运行状
态的指令。ecflow服务端233在接收到改变运行状态的指令后,基于改变运行状态的指令改变情景模拟任务的状态。
88.前端模块221可以通过调度服务2342从ecflow服务端233获取情景模拟任务的运行状态。本实施例中,前端模块221可以接收用户的输入,响应于用户的输入,通过调度服务2342请求从ecflow服务端233获取情景模拟任务的运行状态,接收调度服务2342从ecflow服务端233获取的情景模拟任务的运行状态。本实施例中,前端模块221可以周期性地通过调度服务2342请求从ecflow服务端233获取情景模拟任务的运行状态,接收调度服务2342从ecflow服务端233获取的情景模拟任务的运行状态。本实施例中,调度服务2342和ecflow服务端233可以向前端模块221推送情景模拟任务的运行状态。
89.本实施例中,情景模拟任务的运行状态可以包括:等待中、正在运行、正常结束和运行中断等。情景模拟任务的运行状态可以包括情景处理模块231、数值模式模拟模块232的运行状态。
90.如图2所示,接口模块234可以包括配置服务2341,用于响应于前端模块221的调用,向前端模块221发送参数配置项和/或模块配置项,接收前端模块221发送的情景参数和/或模块配置,基于情景参数和/或模块配置生成情景模拟配置文件,将情景模拟配置文件存储在模拟服务器230。
91.前端模块221可以通过调用配置服务2341获取参数配置项和/或模块配置项,并在客户端210上显示包括参数配置项和/或模块配置项的用户界面。客户端210可以接收用户输入,得到情景参数和模块配置,并将情景参数和模块配置发送给前端模块221,前端模块221调用配置服务2341在模拟服务器230上生成情景模拟配置文件。
92.示例性的,前端模块221可以通过配置服务2341获取参数配置项,在客户端210上向用户显示包括参数配置项的第一配置页面,接收用户通过第一配置页面输入的一个或多个情景模拟任务的情景参数,通过配置服务2341在模拟服务器230上生成情景模拟配置文件,其中,情景模拟配置文件包括该一个或多个情景模拟任务的情景参数。由此实现对情景的灵活配置,便于根据需要设置相应的情景模拟任务。而相关技术中则只能执行固有的集中情景。
93.情景处理模块231可以从情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。ecflow服务端233可以响应于前端模块221通过接口模块234发送的开始运行指令,触发情景处理模块231(向情景处理模块231发送运行命令)情景处理模块231被触发后,从情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。通过ecflow服务端233基于任务控制指令调度情景处理模块231读取情景配置文件,能够提高交互的时效性和可靠性。而相关技术中交互是通过文件判断来实现的,交互的时效性低,而且直接操作文件的安全性也无法保障。
94.前端模块221还可以通过配置服务2341获取模块配置项,向用户显示包括模块配置项的第二配置页面,接收用户通过第二配置页面输入一个或多个情景模拟任务的模块配置;通过接口模块生成上述情景模拟配置文件,上述情景模拟配置文件还包括一个或多个情景模拟任务的模块配置。
95.作为一种实施方式,上述模块配置可以包括执行情景模拟任务的数值模式。数值
模式模拟模块232可以用于使用情景模拟任务的模块配置指定的数值模式,基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。示例性,可以指定naqpms、cmaq、camx等中的一个进行相应的数值模式模拟。
96.如图2所示,接口模块234可以包括数据服务2343。数据服务2343用于响应于前端模块221的调用,向前端模块221发送情景模拟任务的模拟结果数据。
97.本实施例中,前端模块221可以通过调度服务2342从ecflow服务端233获取情景模拟任务的运行状态,在情景模拟任务的运行状态为完成后,通过数据服务2343获取情景模拟任务的模拟结果数据。
98.本实施例中,前端模块221可以对模拟结果数据进行可视化渲染,以供用户浏览分析。前端模块221可以采用公知技术对模拟结果数据进行可视化处理,本技术实施例对此不作详细描述。示例性的,前端模块221可以生成图形、表格,以比较不同情景对应模拟结果之间的差异。
99.在一些实施方式中,可以将多个情景模拟任务作为一组任务,也就是对多个管控措施进行模拟。客户端210可以接收用户对多个情景模拟任务的配置,得到每个情景模拟任务的情景参数。客户端210将多个情景模拟任务的情景参数发送至前端服务器220。
100.在一些实施方式中,调度服务2342可以调度多个情景模拟任务。在一些示例中,调度服务2342调度多个情景模拟任务顺序执行。例如,按照情景模拟任务的提交顺序执行。在一些示例中,调度服务2342调度多个情景模拟任务中至少部分情景模拟任务并行执行。例如,调度服务2342可以与高性能计算集群的作业管理器(如slurm、pbs、lsf等)进行通信和交互,如果计算资源充足,则所有计算任务可以并行计算。如果计算资源不足,作业管理器会根据任务提交的先后顺序,排队运行。
101.在该多个情景模拟任务运行过程中,客户端210可以发送任务控制指令,对一个或多个情景模拟任务进行控制。客户端210可以发送任务控制指令的方式参见上述对前端模块221和接口模块234的描述,在此不作赘述。客户端210可以显示多个情景模拟任务的运行状态。运行状态的获取方式参见上述对前端模块221和接口模块234的描述,在此不作赘述。
102.根据本公开的另一方面,提供了一种计算平台,包括:一个或多个处理器;以及存储程序的存储器,其中,程序用于实现上述的情景模拟系统。
103.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于实现上述的情景模拟系统。
104.本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
105.本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
106.本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
107.参考图3,现将描述可以作为本公开的服务器或客户端的电子设备300的结构框
图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
108.如图3所示,电子设备300包括计算单元301,其可以根据存储在只读存储器(rom)302中的计算机程序或者从存储单元308加载到随机访问存储器(ram)303中的计算机程序,来执行各种适当的动作和处理。在ram 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
109.电子设备300中的多个部件连接至i/o接口305,包括:输入单元306、输出单元307、存储单元308以及通信单元309。输入单元306可以是能向电子设备300输入信息的任何类型的设备,输入单元306可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元307可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元308可以包括但不限于磁盘、光盘。通信单元309允许电子设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
110.计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理。例如,在一些实施例中,情景模拟系统可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由rom 302和/或通信单元309而被载入和/或安装到电子设备300上。在一些实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为运行情景模拟系统。
111.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
112.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
113.如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
114.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
115.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
116.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

技术特征:
1.一种情景模拟系统,其特征在于,包括:情景处理模块,用于基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据,其中,一个情景模拟任务对应一组情景参数,情景模拟任务之间相互独立;数值模式模拟模块,用于基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据;调度模块,用于基于任务控制指令调度所述情景处理模块和所述数值模式模拟模块以运行情景模拟任务,以及监测情景模拟任务的运行状态;接口模块;前端模块,用于通过所述接口模块向所述调度模块发送任务控制指令,通过所述接口模块从所述调度模块获取情景模拟任务的运行状态,通过所述接口模块获取情景模拟任务的模拟结果数据。2.如权利要求1所述的情景模拟系统,其特征在于,所述任务控制指令包括开始运行指令,其中,所述开始运行指令用于指示开始运行指定的情景模拟任务;所述调度模块,用于:响应于所述前端模块通过所述接口模块发送的开始运行指令,触发所述情景处理模块基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据;监测所述情景处理模块的运行状态;在监测到所述情景处理模块生成情景模拟任务对应的情景输入数据之后,触发所述数值模式模拟模块基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。3.如权利要求1所述的情景模拟系统,其特征在于,所述任务控制指令还包括改变运行状态的指令,所述改变运行状态的指令用于改变指定的情景模拟任务的运行状态,改变运行状态的指令包括:终止、挂起或重新开始。4.如权利要求1所述的情景模拟系统,其特征在于,所述前端模块,用于通过所述接口模块获取参数配置项,向用户显示包括所述参数配置项的第一配置页面,接收用户通过所述第一配置页面输入的一个或多个情景模拟任务的情景参数,通过所述接口模块生成情景模拟配置文件,其中,所述情景模拟配置文件包括所述一个或多个情景模拟任务的情景参数;所述情景处理模块,用于从所述情景模拟配置文件中获取情景模拟任务的情景参数,基于情景模拟任务的情景参数生成情景模拟任务对应的情景输入数据。5.如权利要求4所述的情景模拟系统,其特征在于,所述前端模块,用于通过所述接口模块获取模块配置项,向用户显示包括所述模块配置项的第二配置页面,接收用户通过所述第二配置页面输入一个或多个情景模拟任务的模块配置;通过所述接口模块生成所述情景模拟配置文件,所述情景模拟配置文件还包括所述一个或多个情景模拟任务的模块配置。6.如权利要求5所述的情景模拟系统,其特征在于,所述模块配置包括:执行情景模拟任务的数值模式;所述数值模式模拟模块,用于使用情景模拟任务的模块配置指定的数值模式,基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生情景模拟任务对应的模拟结果数据。
7.如权利要求1所述的情景模拟系统,其特征在于,所述前端模块,用于通过所述接口模块从所述调度模块获取情景模拟任务的运行状态,在情景模拟任务的运行状态为完成后,通过所述接口模块获取情景模拟任务的模拟结果数据。8.如权利要求1至7任一项所述的情景模拟系统,其特征在于,所述接口模块包括:配置服务,用于响应于所述前端模块的调用,向所述前端模块发送参数配置项和/或模块配置项,接收所述前端模块发送的情景参数和/或模块配置,基于所述情景参数和/或模块配置生成情景模拟配置文件;调度服务,用于向所述调度模块传递来自所述前端模块的任务控制指令;向所述前端模块传递来自所述调度模块的运行状态;数据服务,用于响应于所述前端模块的调用,向所述前端模块发送情景模拟任务的模拟结果数据。9. 一种计算平台,其特征在于,包括:一个或多个处理器;以及存储程序的存储器,其中,所述程序用于实现根据权利要求1至8任一项所述的情景模拟系统。10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于实现根据权利要求1至8任一项所述的情景模拟系统。

技术总结
本公开提供一种情景模拟系统、计算平台和存储介质,该情景模拟系统,包括:情景处理模块,用于基于情景模拟任务的情景参数生成其情景输入数据;数值模式模拟模块,用于基于情景模拟任务对应的情景输入数据进行数值模式模拟,以产生其模拟结果数据;调度模块,用于基于任务控制指令调度情景处理模块和数值模式模拟模块以运行情景模拟任务,以及监测其运行状态;接口模块;前端模块,用于通过接口模块向调度模块发送任务控制指令,通过接口模块从调度模块获取情景模拟任务的运行状态,通过接口模块获取情景模拟任务的模拟结果数据。本公开实施例,能够对情景模拟进行运行控制和状态监测,能够提高情景模拟的灵活性和便捷性。能够提高情景模拟的灵活性和便捷性。能够提高情景模拟的灵活性和便捷性。


技术研发人员:王文丁 肖林鸿 梁丁月 边玉山 魏巍 陈亚飞 陈焕盛 吴剑斌 秦东明
受保护的技术使用者:北京中科三清环境技术有限公司
技术研发日:2023.08.14
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐