原文见https://blog.csdn.net/weixin_44237337/article/details/119707332,因为觉得很实用就转载一下。
lon_name = 'longitude' #你的nc文件中经度的命名
ds['longitude_adjusted'] = xr.where(
ds[lon_name] > 180,
ds[lon_name] - 360,
ds[lon_name])
ds = (
ds
.swap_dims({lon_name: 'longitude_adjusted'})
.sel(**{'longitude_adjusted': sorted(ds.longitude_adjusted)})
.drop(lon_name))
ds = ds.rename({'longitude_adjusted': lon_name})
如果需要转换成ERA5的-180-179的经度格式,则用
ds['longitude_adjusted'] = xr.where(
ds[lon_name] >= 180,
...
)