我是一个在欧洲国家维护大型气象站网络(约3000个气象站)的组织的一部分。除了将测得的数据存入数据库外,我们还在2.5公里的规则网格上生成插值值的地图。目前,我们正在使用来自pyngl (natgrid
,https://www.pyngl.ucar.edu/Functions/Ngl.natgrid.shtml).
虽然大多数变量都是直接内插在网格上的,但温度总是随高度缩放,以便更好地表示山区的梯度(参见示例图像)。
我一直在试图找到一个更好的方法来插值数据,但没有成功。我的理想算法应该能够
- 以分散的数据(如温度、雨水、湿度……)作为输入:数据根据一天中的时间在1000到5000点之间变化
- 添加海拔或纬度等外部参数,以改进在站点数据缺失的区域(如山区)的数据插值,类似于克里格漂移。理想情况下,我们甚至可以使用雷达数据来修正降水估计。这应该由算法本身自动调整,而不需要干预
- 快速(插入所有数据不超过10秒)
- 理想情况下,使用在整个数据存档上训练的机器学习模型来改进插值?(这是可选的)
我一直在尝试RBF插值,所有的方法metpy
(https://unidata.github.io/MetPy/latest/examples/gridding/Point_Interpolation.html),甚至pykrige
与普通克里格或回归克里格随机森林回归。不知何故,我无法找到一个方法,满足所有上述条件:natgrid
这似乎仍然是最快最准确的算法。
有人能告诉我正确的方向吗?