переустановить данные netcdf для более точного разрешения в python

Я хотел бы уменьшить разрешение данных netcdf с 0,5 градуса до 0,25 (или ниже), просто создав новые ячейки сетки с более мелким разрешением, которые имеют то же значение, что и ячейка с более грубым разрешением. У меня есть фол. код, который отлично работает для создания файла с более грубым разрешением:

from mpl_toolkits.basemap import Basemap
from netCDF4 import Dataset
import numpy as np
import pdb

filename = '/Users/r/global_aug4.region.nc'
pdb.set_trace()
with Dataset(filename, mode='r') as fh:
   lons = fh.variables['lon'][:]
   lats = fh.variables['lat'][:]
   biom = fh.variables['biomass'][:].squeeze()

lons_sub, lats_sub = np.meshgrid(lons[::4], lats[::4])

coarse = Basemap.interp(biom, lons, lats, lons_sub, lats_sub, order=1)

Как мне создать что-то, что идет другим путем, то есть от более грубого к более тонкому масштабу


person user308827    schedule 04.08.2015    source источник


Ответы (1)


Обратите внимание в документах, что вам просто нужно указать метод interp с xout и yout, которые являются новыми желаемыми сетками.

Вы уже сделали это правильно с более грубой сеткой (то есть, увеличивая координаты с шагом 4 градуса), теперь вам просто нужно сделать обратное, переопределив lons_sub и lats_sub, чтобы они были шагом сетки с шагом 0,25 градуса. Что-то вроде следующего должно работать.

lats_fine = np.arange(lats[0], lats[-1], 0.25) # 0.25 degree fine grid
lons_fine = np.arange(lons[0], lons[-1], 0.25)
lons_sub, lats_sub = np.meshgrid(lons_fine, lats_fine)
person N1B4    schedule 05.08.2015