我是python的新手,我正在尝试编写一个函数,该函数将从netcdf文件中获取具有维度[时间,高度,经度,纬度]的numpy数组,并将函数内插到指定的lat和lon。我已经研究过scipy.interpolate但我仍然不确定从那里去哪里。有什么帮助吗?
答案 0 :(得分:2)
如果您希望(a)将整个数据集内插到一组新的纬度/经度坐标或(b)在单个纬度/经度位置获取该值,我无法从问题中得知。
无论哪种方式,如果你在python中没有结婚,那么在Climate Data Operators中使用remapgrid会更加容易(确保你使用netCDF支持安装)。这确实需要netCDF文件遵循CF约定(请参阅此post以使您的WRF文件符合CF标准)。
找到了remapgrid的文档here。有关网格选项的信息,请参阅第1.3节(第9-12页);有关插值技术的信息,请参见第2.10节(第106页开始)。如何重映射有多种选择,您使用的命令取决于您的应用程序。
(a)这是使用双线性插值重新映射到高斯(128x64)网格的示例
cdo remapbil,n32 wrfout_d01_1999-01-01-01_00:00:00.nc out.nc
(b)这是使用最近邻居映射到一个纬度经度点的示例重映射:
cdo remapnn,lon=-107.0_lat=34.0 wrfout_d01_1999-01-01-01_00:00:00.nc out.nc
答案 1 :(得分:1)