Как изменить файл netcdf с помощью PyNCO ncap2?

Я пытаюсь использовать команду NCO ncap2 в скрипте Python для изменения единиц времени в NetCDF-файле климатологии:

from nco import Nco
nco = Nco()
nco.ncap2(input='in.nc', output='out.nc', options =['-s', '\\"time@units=\\"days since 00-12-30 00:00:00\\"\\"'])

Однако это дает мне ошибку:

C: \ Users \ test \ Miniconda3 \ envs \ download \ Library \ bin \ ncap2 -s "time @ units =" дней с 00-12-30 00:00:00 "" --output = out.nc in.nc ‹** Входные данные: out.nc b '' Отслеживание (последний вызов последним): Файл «C: \ Users \ test \ workspace \ GFSdownload \ src \ nc_info.py», строка 13, в nco.ncap2 (input = ' in.nc ', output =' out.nc ', options = [' - s ',' \ "time @ units = \" дней с 00-12-30 00:00:00 \ "\" ']) Файл "C: \ Users \ test \ Miniconda3 \ envs \ download \ lib \ site-packages \ nco \ nco.py", строка 342, в get raise NCOException (** retval) nco.nco.NCOException: (код возврата: 1) б ''

При использовании ncap2 непосредственно из командной строки работает хорошо:

ncap2 -s "time@units=\"days since 00-12-30 00:00:00\"" in.nc out.nc

Есть ли обходной путь для этого? Я пишу свой основной код на Python, поэтому я хотел бы использовать pynco везде.


person dkush    schedule 29.11.2019    source источник


Ответы (1)


Не уверен, в чем проблема с ncap2, но вместо этого вы можете попробовать ncatted (это рифмуется!)

person Charlie Zender    schedule 30.11.2019
comment
голосуйте, но не за свои стихи Чарли, не бросайте свою дневную работу ;-) - person Adrian Tompkins; 21.01.2020