我试图找到一个NCL函数的等价物(如果存在),它返回最接近用户指定的纬度/经度坐标对的二维纬度/经度数组的索引。
这是NCL函数的链接,我希望在python中有一个等价物。我怀疑此时没有,所以有关如何从纬度/经度坐标获取指数的任何提示都表示赞赏
https://www.ncl.ucar.edu/Document/Functions/Contributed/getind_latlon2d.shtml
现在,我将我的坐标值保存到.nc文件中,并通过以下方式读取:
coords='coords.nc'
fh = Dataset(coords, mode='r')
lons = fh.variables['g5_lon_1'][:,:]
lats = fh.variables['g5_lat_0'][:,:]
rot = fh.variables['g5_rot_2'][:,:]
fh.close()
答案 0 :(得分:0)
我发现scipy spatial.KDTree可以执行类似的任务。这是我找到最接近观察位置的模型网格的代码
row.Status ?? 0
答案 1 :(得分:0)
我不确定在python中读取时如何存储lon / lat数组,因此要使用以下解决方案,您可能需要将lon / lat转换为numpy数组。你可以把abs(array-target).argmin()放在一个函数中。
import numpy as np
# make a dummy longitude array, 0.5 degree resolution.
lon=np.linspace(0.5,360,720)
# find index of nearest longitude to 25.4
ind=abs(lon-25.4).argmin()
# check it works! this gives 25.5
lon[ind]