Xarray 重采样:将 ERA5 数据从 0.25° 降采样到 0.5°
使用 Xarray 将 ERA5 数据从 0.25° 降采样到 0.5°
本文将介绍如何使用 Xarray 库将 ERA5 数据集从 0.25° 的经纬度分辨率降采样到 0.5°。
步骤:
- 导入库:
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().data, data[lon_var].max().data, 0.5)
new_lat = np.arange(data[lat_var].max().data, data[lat_var].min().data, -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)
代码示例:
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().data, data[lon_var].max().data, 0.5)
new_lat = np.arange(data[lat_var].max().data, data[lat_var].min().data, -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)
注意:
- 请确保您已安装
xarray和numpy库。 - 确保文件路径和文件名正确。
- 此代码使用线性插值法进行重采样。您可以根据需要更改插值方法。
- 重采样后的数据将以 0.5° 的经纬度分辨率保存到新的 NetCDF 文件中。
原文地址: https://www.cveoy.top/t/topic/bpWk 著作权归作者所有。请勿转载和采集!