Я пытаюсь сохранить временную серию в файле netcdf. Согласно найденной мной документации, это можно сделать с помощью метода date2num из модуля netCDF4. Однако я не могу заставить его работать (см. пример ниже):
from datetime import datetime as dt
from netCDF4 import Dataset
from netCDF4 import num2date, date2num
import pytz
filename = 'test.nc'
root = Dataset(filename, 'w', format='NETCDF4_CLASSIC')
root.name = 'test'
# create dimension
root.createDimension('datetime', None)
# create variable
timeserie = root.createVariable('timeserie', 'f4', ('datetime',))
timeserie.units = 'days since 1970-01-01 00:00:00 UTC' # reference: epoch
timeserie.calendar = 'gregorian'
# create testList
listDT = [dt.now(pytz.utc), dt(1970, 1, 2, 12, 0, 0, 0, pytz.utc)]
print date2num(listDT, units=timeserie.units, calendar=timeserie.calendar)
root.close()
Ошибка, которую он мне дает:
Traceback (most recent call last): File "test.py", line 20, in <module> print date2num(listDT, units=timeserie.units, calendar=timeserie.calendar) File "netCDF4\_netCDF4.pyx", line 5128, in netCDF4._netCDF4.date2num (netCDF4\_netCDF4.c:60367) TypeError: can't subtract offset-naive and offset-aware datetimes
Как мне сохранить данные даты и времени (желательно с учетом часового пояса) в netcdf с помощью python?