Есть netcdf файл с данными на разных сетках. Небходимо считывать данные и хранить в удобной структуре, чтобы было можно обращаться по имени переменной. Казалось бы, numpy.recarray как раз для этого удобен. Но есть косяк с маской (в данных есть пропуски):
rec=[('precip', 'f4', (1,100,200)),
('temp', 'f4', (20,100,200))]
a=ma.zeros((1,), dtype=dtype(rec))
a.fill_value.dtype
dtype([('precip', '<f4', (1, 100, 200)), ('temp', '<f4', (20, 100, 200))])
Короче, он хранит 100*200+20*100*200 значений для пропусков в данных (fill_value), а это неприемлемо. Должно быть всего одно значение, или в редких случаях для каждой переменной своё. Как победить?