一种VIC陆面模型网格数据计算方法技术

技术编号:19857126 阅读:24 留言:0更新日期:2018-12-22 11:37
本发明专利技术公开了一种VIC陆面模型网格数据计算方法,该方法使用计算主控服务器,计算主控服务器中有获取的VIC陆面模型网格数据,VIC陆面模型运行计算程序对网格数据进行计算,网格数据包含每一网格单元的遥感数据,计算主控服务器通过网络连接多台计算机形成含有多个计算节点的计算网络,计算主控服务器获取每一节点计算机的处理器内核数量以及主频频率,并以此划分网格数据计算任务的多少,再将划分后的网格数据计算任务进一步划分为在一个设定的时间阈值内完成的一个或多个实际计算任务,分配给对应的节点计算机计算,计算任务完成后的计算结果实时发送至计算主控服务器,完成网格数据计算。本发明专利技术可以实现VIC陆面模型在多个计算机节点及内核上并行计算,提高VIC陆面模型计算性能,满足实际生产应用的需要。

【技术实现步骤摘要】
一种VIC陆面模型网格数据计算方法
本专利技术属于水文资源
,尤其涉及VIC陆面模型,具体为一种VIC陆面模型网格数据计算方法。
技术介绍
遥感反演土壤水受到卫星过境时间的影响,存在时空不连续的不足,同时光学遥感也容易受到云层的影响,不能有效、及时得获得土壤水数据。所以考虑通过VIC陆面模型模拟土壤水含量,并考虑和遥感数据进行同步化,互补优势,从而实现兼具时效性和准确性的土壤水分模拟。但是5公里的VIC陆面模型需要计算网格数量大(全国5公里的网格约25万个网格),VIC陆面模型(版本4.2)由于其自身模型计算的复杂性和C语言程序的特点,不能在多个计算节点上以及计算节点的内核上并行计算,计算十分费用,经测算全国所有网格计算一次需要96小时,不能满足实际业务每天至少计算一次。为了达到实际生产应用的需要,所以需要通过设计VIC陆面模型的高性能计算装置和方法来提高VIC陆面模型的计算效率。VIC陆面模型(版本4.2)原始程序设计为单机程序,无法直接在多个计算节点并行计算达到计算性能的目的;同时由于其涉及水热平衡、蒸散发、土壤湿度、碳循环等等计算,计算过程十分复杂,实现语言是C语言的函数式编程,其存在大量内存公用变量而无法实现多线程计算达到提升计算性能的目的。
技术实现思路
有鉴于此,本专利技术提供一种VIC陆面模型网格数据计算方法,可以实现VIC陆面模型在多个计算机节点及内核上并行计算,从而达到VIC陆面模型高性能计算的目的,以满足实际生产应用的需要。具体而言,本专利技术包括以下的技术方案:一种VIC陆面模型网格数据计算方法,该方法使用的计算装置包括计算主控服务器,计算主控服务器中有获取的VIC陆面模型网格数据,VIC陆面模型运行计算程序对网格数据进行计算,所述网格数据包含每一网格单元的遥感数据,所述计算主控服务器通过网络连接多台计算机形成含有多个计算节点的计算网络,所述计算主控服务器获取每一节点计算机的处理器内核数量以及主频频率,计算主控服务器根据每一节点计算机的处理器内核数量的多少以及主频频率的高低划分网格数据计算任务的多少,然后再将划分后的网格数据计算任务进一步划分为在一个设定的时间阈值内完成的一个或多个实际计算任务,将实际计算任务分配给对应的节点计算机计算,每一节点计算机将计算任务完成后的计算结果实时发送至计算主控服务器,计算主控服务器将计算结果汇总完成网格数据计算。所述方法进一步包括:当某一节点计算机出现在所设定的时间阈值内没有完成实际计算任务,则减少此节点计算机划分的网格数据计算任务,并将减少的网格数据计算任务分配给在少于设定的时间阈值内完成实际计算任务的节点计算机。进一步的,所述将实际计算任务分配给对应的节点计算机计算的方法是:在计算主控服务器的计算程序中设置调用接口,通过调用接口将参数划分为多个计算子任务参数,将多个计算子任务的参数传入节点计算机生成多个计算子任务,再将多个计算子任务通过多进程的方式分配到CPU的不同内核上,其中,计算子任务数目等于内核数目。进一步的,所述计算子任务参数是n行×n列网格数中的参数,对计算子任务设定一个完成时间阈值,当在完成时间阈值内不能完成所述计算子任务时,减少计算子任务的n行或n列网格数。进一步的,所述计算主控服务器与节点计算机之间是通过Remoting技术进行数据交换。进一步的,在所述计算过程中,所述计算主控服务器与所述计算节点计算机的数据存取是采用NetCDF数据格式进行的。本专利技术的有益效果是:本专利技术实现了VIC陆面模型在多个节点及内核上并行运行,实现了VIC陆面模型的高性能计算。通过该专利技术的方法在水利部遥感中心的旱情实时监测系统中将全国5公里25万个网格VIC陆面模型的计算时间从原来的96小时减少至不到4小时,大大的提高了VIC陆面模型的计算效率,为生产应用奠定了基础。附图说明图1为本专利技术-VIC陆面模型高性能计算装置及接口设计示意图。图2为本专利技术一VIC陆面模型网格计算任务在节点和内核上的分配。图3为本专利技术一VIC陆面模型计算任务分解方法与状态更新。图4为本专利技术一中国区域计算网格化划分示意图。图5为本专利技术一全国上层土壤湿度计算结果(干旱分析成果)。图6为本专利技术一全国下层土壤湿度计算结果(干旱分析成果)。具体实施方式一种VIC陆面模型网格数据计算方法,该方法使用的计算装置包括计算主控服务器,计算主控服务器中有获取的VIC陆面模型网格数据,VIC陆面模型运行计算程序对网格数据进行计算,所述网格数据包含每一网格单元的遥感数据,所述计算主控服务器通过网络连接多台计算机形成含有多个计算节点的计算网络,所述计算主控服务器获取每一节点计算机的处理器内核数量以及主频频率,计算主控服务器根据每一节点计算机的处理器内核数量的多少以及主频频率的高低划分网格数据计算任务的多少,然后再将划分后的网格数据计算任务进一步划分为在一个设定的时间阈值内完成的一个或多个实际计算任务,将实际计算任务分配给对应的节点计算机计算,每一节点计算机将计算任务完成后的计算结果实时发送至计算主控服务器,计算主控服务器将计算结果汇总完成网格数据计算。当某一节点计算机出现在所设定的时间阈值内没有完成实际计算任务,则减少此节点计算机划分的网格数据计算任务,并将减少的网格数据计算任务分配给在少于设定的时间阈值内完成实际计算任务的节点计算机。所述将实际计算任务分配给对应的节点计算机计算的方法是:在计算主控服务器的计算程序中设置调用接口,通过调用接口将参数划分为多个计算子任务参数,将多个计算子任务的参数传入节点计算机生成多个计算子任务,再将多个计算子任务通过多进程的方式分配到CPU的不同内核上,其中,计算子任务数目等于内核数目。所述计算子任务参数是n行×n列网格数中的参数,对计算子任务设定一个完成时间阈值,当在完成时间阈值内不能完成所述计算子任务时,减少计算子任务的n行或n列网格数。所述计算主控服务器与节点计算机之间是通过Remoting技术进行数据交换。在所述计算过程中,所述计算主控服务器与所述计算节点计算机的数据存取是采用NetCDF数据格式进行的。为使本专利技术的技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。1、该专利技术将各个计算节点设计为主从节点的计算装置,并通过对VIC陆面模型程序的进行改造,增加程序支持通过网络进行模型数据输入、输出的接口,并通过.netremoting技术实现模型网络数据交互,从而支持VIC陆面模型网格计算在不同的计算节点上并行计算(计算结构如图1所示)。高性能计算(HPC,HighPerformanceComputing)通常是指使用很多处理器或者在某一集群中组织的多台计算机构成的计算机系统和环境,这些高性能计算技术包括多线程、MPI、多进程、GPU,以及新兴的云计算等。VIC陆面模型的全国模型生产应用涉及到大量的网格计算(5公里的网格约25万个网格计算任务),然而由于VIC陆面模型自身计算过程复杂,且存在内存共享等原因,难以直接使用上述高性能计算方法进行高性能计算。本专利技术通过计算装置的设计增加VIC陆面模型通过网络进行数据输入、输出的接口,创建了一种适合VIC陆面模型的高性能计算装置,即主从结构的VIC陆面模型计算装置(如图1所示结构)。该计算装置实现类本文档来自技高网...

【技术保护点】
1.一种VIC陆面模型网格数据计算方法,该方法使用的计算装置包括计算主控服务器,计算主控服务器中有获取的VIC陆面模型网格数据,VIC陆面模型运行计算程序对网格数据进行计算,所述网格数据包含每一网格单元的遥感数据,其特征在于,所述计算主控服务器通过网络连接多台计算机形成含有多个计算节点的计算网络,所述计算主控服务器获取每一节点计算机的处理器内核数量以及主频频率,计算主控服务器根据每一节点计算机的处理器内核数量的多少以及主频频率的高低划分网格数据计算任务的多少,然后再将划分后的网格数据计算任务进一步划分为在一个设定的时间阈值内完成的一个或多个实际计算任务,将实际计算任务分配给对应的节点计算机计算,每一节点计算机将计算任务完成后的计算结果实时发送至计算主控服务器,计算主控服务器将计算结果汇总完成网格数据计算。

【技术特征摘要】
1.一种VIC陆面模型网格数据计算方法,该方法使用的计算装置包括计算主控服务器,计算主控服务器中有获取的VIC陆面模型网格数据,VIC陆面模型运行计算程序对网格数据进行计算,所述网格数据包含每一网格单元的遥感数据,其特征在于,所述计算主控服务器通过网络连接多台计算机形成含有多个计算节点的计算网络,所述计算主控服务器获取每一节点计算机的处理器内核数量以及主频频率,计算主控服务器根据每一节点计算机的处理器内核数量的多少以及主频频率的高低划分网格数据计算任务的多少,然后再将划分后的网格数据计算任务进一步划分为在一个设定的时间阈值内完成的一个或多个实际计算任务,将实际计算任务分配给对应的节点计算机计算,每一节点计算机将计算任务完成后的计算结果实时发送至计算主控服务器,计算主控服务器将计算结果汇总完成网格数据计算。2.根据权利要求1所述的计算方法,其特征在于,所述方法进一步包括:当某一节点计算机出现在所设定的时间阈值内没有完成实际计算任务,则减少此节点计算机划分的网格数据计算任务,并将...

【专利技术属性】
技术研发人员:陈胜杨永民孙亚勇臧文斌
申请(专利权)人:中国水利水电科学研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1