Python 重新网格化二维旋转网格

Python regridding a 2D rotated mesh grid

我有一个 2D 旋转矩形网格,其经度和纬度值的维度为 [405, 555],但我不明白如何重新网格化它,我想要一个轴为 "parallel" 的矩形网格到 Parallels和经络。

我尝试使用 scipy 插值函数作为:griddata 或 RegularGridInterpolator,但我总是对旧的网格尺寸有问题,因为它们是 2D 和旋转的,值不重复,我不知道如何解决。

抱歉,我无法 post 我的原始代码和数据,因为它们是专有的,我不知道如何创建 MWE。

我试过这个:

import scipy.interpolate.ndgriddata as ndgriddata
import numpy as np

x = np.linspace(35.0, 42.0, 405) # my new longitude
y = np.linspace(36.0, 48.0, 555) # my new latitude
X, Y = np.meshgrid(x, y)

# grid_lon: old 2D array [405, 555] for the longitude
# grid_lat: old 2D array [405, 555] for the latitude
# data: old 2D array [405, 555] for the data
test = ndgriddata.griddata((grid_lon, grid_lat), data, (X, Y), method="linear")

但是,我当然得到了错误:

ValueError: invalid shape for input data points

我知道这个问题很难回答,但如果有人有想法,请告诉我。

谢谢,

西乔

我只需要展平旧坐标和数据。

ndgriddata.griddata((grid_lon.flatten(), grid_lat.flatten()), 
                    data.flatten(), (X, Y), method="linear")