Извлечение значения из формы netCDF для местоположения и во всем диапазоне времени

Существует ли эквивалент netCDF4 функции xarray для выбора значений из файла netCDF для долготы и для определенного временного диапазона:

hndl_nc.sel(time=slice(start_date, end_date)).sel(lon=lon, lat=lat, method='nearest')

Я не хочу использовать cdo или nco

1 ответ

Решение

Различия будут зависеть от вашего конкретного набора данных, но эта функция, подобная этой, должна извлекать значения в определенных координатах и ​​интервале времени:

def variable_pull(site_lat, site_lon, lat, lon, var, time_slice):
    lat_idx = (np.abs(lat-site_lat)).argmin()
    lon_idx = (np.abs(lon-site_lon)).argmin()
    return var[time_slice, lat_idx, lon_idx]

для набора данных, открытого с помощью netCDF4, аналогично следующему:

f = ncdf.Dataset("filepath","r")
lat = f.variables['lat'][:]
lon = f.variables['lon'][:]
var = f.variables['var'][:]
f.close()
site_lat = your coordinates of interest
site_lon = your coordinates of interest
values = variable_pull(site_lat, site_lon, lat, lon, var, time_slice)
Другие вопросы по тегам