Как остановить xarray от автоматического изменения атрибутов времени при записи файла netcdf? - PullRequest
0 голосов
/ 07 февраля 2019

Я заметил, что при объединении нескольких годовых файлов NetCDF в один файл или при разбивании файла временных рядов на годовые группы функция .to_netcdf () в xarray автоматически обновляет единицы времени.Пример того, что я имею в виду

# time attribute of the file
ncdump -h file_1970_2017.nc
>>double time(time) ;
    time:_FillValue = NaN ;
    time:units = "Hours since 1900-01-01T00:00:00+00:00" ;
    time:calendar = "proleptic_gregorian" ;

#  after splitting the files into yearly files using group-by method the time attribute is automatically modified

# example
ncdump -h file_splitted_2005.nc
>>double time(time) ;
    time:_FillValue = NaN ;
    time:units = "Hours since 2005-01-01T00:00:00+00:00" ;
    time:calendar = "proleptic_gregorian" ;

С той же проблемой я сталкиваюсь, когда я делаю наоборот, то есть когда я объединяю отдельные годовые файлы в общий файл.Есть ли способ заставить его не менять атрибут времени?Из документации кажется, что аргумент 'кодирования' может помочь, но я не могу понять, как?

1 Ответ

0 голосов
/ 07 февраля 2019

Разобрался.Используя аргумент кодирования в качестве вложенного словаря, этого можно достичьмассив является объектом даты и времени.В этом случае он использует интеллектуальные функции даты и времени под капотом.Это означает, что я мог бы также указать

'time':{'units': "seconds since 2000-01-01 00:00:00"}

, и он автоматически пересчитает значения, которые он хранит во временном массиве, делая нашу жизнь намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...