, когда я пытаюсь прочитать файл netcdf, сгенерированный мной с использованием класса python netCDF4, я получаю сообщение вроде:
Предупреждение пользователя: ПРЕДУПРЕЖДЕНИЕ: пропущенное_значение не используется, так как оно
не может быть безопасно приведен к типу переменной
если я попытаюсь прочитать данные Q2_daily, то здесь из моего nc-файла будет текст дампа:
float Q2_daily(time, lev, lat, lon) ;
Q2_daily:_FillValue = 1.e+20f ;
Q2_daily:missing_value = 1.e+20 ;
Q2_daily:long_name = "Q2_daily" ;
Q2_daily:units = "various" ;
Итак, python netCDF4 ставит «f» в конце 20, однако, когда я указываю 1e20 в качестве моей переменной missing_value, он не появляется. Я могу переписать это с помощью ncatted, однако я бы хотел, чтобы они были согласованы. Я понимаю, что _FillValue и missing_value часто для разных вещей, однако я хотел бы, чтобы они равнялись одному значению.
Я подозреваю, что netCDF4 должен автоматически устанавливать тип для отсутствующего значения, чтобы он был эквивалентен переменной, которую он мог бы представлять?
Спасибо, Марк.
Я пытался сделать несколько простых вещей, таких как наложение float()
на скаляр или np.float()
, но это, похоже, не имеет значения.
Код, который записывает атрибут и значение:
variable_name_ids[cnt].setncattr(variable_meta[0],variable_meta[1])
Я безуспешно пытался форсировать тип.
Я хотел бы видеть: Q2_daily:missing_value = 1.e+20f ;
в ncdump.