1

我是python的新手,我正在尝试编写一个函数,该函数将从netcdf文件中获取一个numpy数组,维度为[时间、高度、经度、纬度],并将函数内插到指定的纬度和经度。我已经研究了 scipy.interpolate 但仍然不确定从那里去哪里。有什么帮助吗?

4

2 回答 2

2

如果您希望(a)将整个数据集内插到一组新的纬度/经度坐标或(b)在单个纬度/经度位置获取值,我无法从这个问题中判断出来。

无论哪种方式,如果您不习惯在 python 中执行此操作,那么在气候数据运算符中使用 remapgrid 会容易得多(确保您安装了 netCDF 支持)。这确实需要 netCDF 文件遵循 CF-Conventions(请参阅这篇关于使您的 WRF 文件符合 CF 的帖子)。

remapgrid 的文档可在此处找到。有关网格选项的信息,请参见第 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
于 2015-05-21T16:10:56.030 回答
1

您可以使用XESMF它来重新网格化它。

它有GEOSChem 的教程,但它几乎与 WRF 相同。

我写了一个关于如何重新网格化 WRF 数据的笔记本。

于 2018-11-25T07:51:01.810 回答