问题描述
如何提高在python中馈给CNN的netfdf数据的分辨率? xarray中是否有任何功能可以做到这一点?
谢谢。
解决方法
您可以使用xarray插值来实现所需的功能。您必须定义要插值的新纬度和经度,并将其传递给xarray interp函数。参见下面的示例
import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
# Create sample data
dx = 0.25
lon = np.arange(0,360,dx)
lat = np.arange(-90,90+dx,dx)
data = 10 * np.random.rand(len(lat),len(lon))
data_set = xr.Dataset({"temp": (["lat","lon"],data)},coords={"lon": lon,"lat": lat})
# Just checking the datasets are not empty
print(data_set)
# Create new lat and lon
dx_new = 0.125
newlon = np.arange(0,dx_new)
newlat = np.arange(-90,90+dx_new,dx_new)
# Interpolate
data_set_interp = data_set.interp(lat=newlat,lon=newlon)
# Check output
print(data_set_interp)