У меня есть файлы ERA5, которые я пытаюсь объединить в ежемесячные файлы. Похоже, что файлы были упакованы для уменьшения размера, что сделало тип данных в файле коротким. Когда я пробую ncrcat, он предупреждает об обнаружении атрибута упаковки add_offset, а затем объединяет все файлы вместе. Однако значения данных теряются. Я попытался использовать ncpdq -U для распаковки файлов, затем ncrcat для объединения, который работает. Но полученные файлы слишком велики, чтобы быть полезными, и когда я пытаюсь ncpdq перепаковать получившийся файл, я получаю ошибку malloc (), которая, похоже, связана с проблемой памяти / ОЗУ. .
Я также пробовал cdo merge, который, как ни странно, отлично работает для большинства конкатенаций, но некоторые файлы не работают и выводят эту ошибку Ошибка (cdf_put_vara_double): NetCDF: числовое преобразование не представляется возможным < / сильный>
Так есть ли способ объединить эти файлы, пока они все еще упакованы, или, по крайней мере, способ перепаковать большие файлы после их объединения?
-f 32
к любой вашей команде cdo - person Robert Wilson   schedule 17.07.2020cdo mergetime
работал нормально с этими двумя файлами - person Robert Wilson   schedule 17.07.2020add_offset
, то сохранение длины входных данных может привести к достаточной потере точности, о которой нужно заботиться, но в равной степени, если значения достаточно похожи, тогда это может быть хорошо. Имея это в виду, если вы реализуете эту функцию, было бы хорошо предложить пользователю выбор точности вывода. (Или, может быть, это то, о чем вы уже говорили?) - person alani   schedule 19.07.2020nc.options(precision = whatever)
), но, возможно, мне нужен способ проверки ансамблей на предмет смещения, упомянутого здесь. Хотя возможно, что это недостаточно распространено, чтобы его стоило реализовать. - person Robert Wilson   schedule 19.07.2020