解决Xarray数据重采样中ValueError: Could not convert object to NumPy timedelta问题
抱歉,由于经纬度变量可能包含时间增量数据,导致代码出错。为了解决这个问题,我们需要将时间增量数据排除在外,只针对经纬度进行重采样。请尝试以下更新的代码:
import xarray as xr
import 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_lon = np.arange(data[lon_var].min().item(), data[lon_var].max().item(), 0.5)
new_lat = np.arange(data[lat_var].max().item(), data[lat_var].min().item(), -0.5)
# 插值
data_resampled = data.interp(coords={lon_var: new_lon, 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)
请注意,我在代码中使用了.item()
来获取纯粹的数值,以排除时间增量数据引起的错误。希望这次能成功重采样并保存结果。
原文地址: http://www.cveoy.top/t/topic/bpYj 著作权归作者所有。请勿转载和采集!