使用Python和Xarray将NetCDF数据纬度从0.25度重采样到0.5度

本文介绍如何使用Python库Xarray将NetCDF数据中的纬度从0.25度重采样到0.5度,同时保持经度不变。

**代码示例:**pythonimport xarray as xrimport numpy as np

读取数据path = '/home/yaodianwen/tp_era5_3hrsum_mekong_mm_defined_invalid_pr.nc'data = xr.open_dataset(path)

获取经纬度变量名lon_var, lat_var = list(data.coords.keys())[:2]

确定新的纬度范围和间隔new_lat = np.arange(data[lat_var].max().data, data[lat_var].min().data, -0.5)

插值data_resampled = data.interp(coords={lat_var: new_lat}, method='linear')

保存结果new_path = '/home/yaodianwen/tp_era5_3hrsum_mekong_mm_defined_invalid_pr_interp.nc'data_resampled.to_netcdf(new_path)

代码解释:

  1. 首先,我们使用xarray.open_dataset()函数读取NetCDF数据。2. 然后,我们使用data.coords.keys()获取经纬度变量名,并使用np.arange()函数创建一个新的纬度数组,其间隔为0.5度。3. 接下来,我们使用data.interp()函数对数据进行线性插值,将纬度重采样到新的纬度数组。4. 最后,我们使用data_resampled.to_netcdf()函数将重采样后的数据保存到新的NetCDF文件。

注意:

  • 请确保将代码中的文件路径和文件名替换为实际路径和文件名。* 确保已安装xarraynumpy库。可以使用pip install xarray numpy命令安装。

希望这篇文章对您有所帮助。


原文地址: https://www.cveoy.top/t/topic/bqhI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录