0

我最近遇到了 NCO,我想在 Python 中使用它。我如何知道我是否正确安装了 pynco/它是否正常运行?

我在我的工作环境(名为 py37)中通过 conda-forge/conda 安装了 nco 和 pynco,但是在进行简短的设置时,我注意到有些事情应该马上就不起作用。例如,尝试 nco.ncdump 命令会产生该命令不存在的警告。尝试另一个命令产生了一个我无法理解的错误。我对python相当陌生,我不确定如何自己找出这些错误。

> from nco import Nco
> nco = Nco()
> file1 = '/Users/rg/Desktop/GRIDSAT-B1.2014.01.01.00.v02r01.nc'

> nco.ncdump(input=file1)

Traceback (most recent call last):

  File "<ipython-input-2-41ab1ce4ac76>", line 1, in <module>
    nco.ncdump(input=file1)

  File "/Users/rg/anaconda3/envs/py37/lib/python3.7/site- 
packages/nco/nco.py", line 173, in __getattr__
    raise AttributeError("Unknown command: {cmd}".format(cmd=nco_command))

AttributeError: Unknown command: ncdump

> nco.ncra(input=file1, returnArray='T').variables['irwin_cdr'][:]

Error in calling operator ncra with:
/Users/rg/anaconda3/envs/py37/bin/ncra -- 
output=/var/folders/l3/6p30t5g91xg_kxmkt9c31y100000gn/T/ncra_GRIDSAT- 
B1.2014.01.01.00.v02r01.ncdaltfozx.tmp /Users/rg/Desktop/GRIDSAT- 
B1.2014.01.01.00.v02r01.nc <<<
Inputs: /Users/rg/Desktop/GRIDSAT-B1.2014.01.01.00.v02r01.nc
b''
Traceback (most recent call last):

  File "<ipython-input-4-cc2ef1873b20>", line 1, in <module>
    nco.ncra(input=file1, returnArray='T').variables['irwin_cdr'][:]

  File "/Users/rg/anaconda3/envs/py37/lib/python3.7/site- 
packages/nco/nco.py", line 342, in get
    raise NCOException(**retvals)

NCOException: (returncode:1) b''

执行的前 3 行代码没有错误消息,这让我认为它已安装。我已经使用过这个数据文件并且知道它是正确链接的。可能存在依赖问题或其他问题,但我对 python 的经验不足,不知道去哪里找。

4

1 回答 1

1

ncdump不是 NCO 命令。ncks是。因此,我建议您尝试

nco.ncks(input=file1)

但是,我对pynco语法的了解很少,除了可能和输出文件名之外,我不知道ncra命令期望什么?

于 2019-08-15T23:23:27.940 回答