python读取数据时出现错误_python – pygrib GRIB2在读取数据时出现分段错误

我遇到了一个

python脚本的麻烦,它以grib2格式从天气模型(GFS)下载最近的天气数据.它曾经工作但现在它不再工作(即最近的文件在GFS服务器上下载).

试图访问数据,我得到一个分段错误,我甚至不知道从哪里开始.

下面是两个例子(工作和不工作).我运行linux薄荷肉桂.我安装了python-grib和python3-grib(版本:1.9.8-1build2,通过软件管理器).

任何建议将不胜感激.

我想,旧文件不会保存在该服务器上.这里可以找到一个例子:

http://grib.virtual-loup-de-mer.org/archives/2014/0130/

文件名:gfs.t00z.master.grbf03.10m.uv.grib2

Pps:道歉花了这么久.我已经从1.98安装了pygrib 2.0版,它现在可以正常工作了. Arghh,我花了很长时间来尝试这个(并实际安装它).但就是这样.

在任何情况下,对所有答案都是一个很大的’merci’,

霁霞

/usr/bin/python3.4:

Python 3.4.0 (default, Apr 11 2014, 13:05:11)

[GCC 4.8.2] on linux

Type "help", "copyright", "credits" or "license" for more information.

工作脚本:

import pygrib

grbs = pygrib.open('winddata1.grib2')

for grb in grbs:

... grb

...

1:10 metre U wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201411041200

2:10 metre V wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201411041200

grb = grbs.message(1)

wind = grb.data(lat1=20,lat2=70,lon1=220,lon2=320)

quit()

/usr/bin/python3.4:

Python 3.4.0 (default, Apr 11 2014, 13:05:11)

[GCC 4.8.2] on linux

Type "help", "copyright", "credits" or "license" for more information.

失败的脚本:

import pygrib

grbs = pygrib.open('winddata2.grib2')

for grb in grbs:

... grb

...

1:10 metre U wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201501220600

2:10 metre V wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201501220600

grb = grbs.message(1)

wind = grb.data(lat1=20,lat2=70,lon1=220,lon2=320)

错误:

Segmentation fault

编辑(希望这是有道理的)

运行(作为脚本testing.py)给了我:

gdb -ex r –args /usr/bin/python3.4 testing.py

GNU gdb (Ubuntu 7.7-0ubuntu3) 7.7

Copyright (C) 2014 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type "show copying"

and "show warranty" for details.

This GDB was configured as "x86_64-linux-gnu".

Type "show configuration" for configuration details.

For bug reporting instructions, please see:

.

Find the GDB manual and other documentation resources online at:

.

For help, type "help".

Type "apropos word" to search for commands related to "word"...

Reading symbols from /usr/bin/python3.4...(no debugging symbols found)...done.

Starting program: /usr/bin/python3.4 testing.py

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

1:10 metre U wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201501220600

2:10 metre V wind component:m s**-1 (instant):regular_ll:heightAboveGround:level 10 m:fcst time 0 hrs:from 201501220600

Program received signal SIGSEGV, Segmentation fault.

0x000000000053b684 in PyLong_AsVoidPtr ()

(gdb) bt

#0 0x000000000053b684 in PyLong_AsVoidPtr ()

#1 0x00007ffff5968da7 in ?? () from /usr/lib/python3/dist-packages/numpy/core/multiarray.cpython-34m-x86_64-linux-gnu.so

#2 0x0000000000533cd2 in PyObject_AsReadBuffer ()

#3 0x00007ffff21c9f00 in ?? () from /usr/lib/python3/dist-packages/g2clib.cpython-34m-x86_64-linux-gnu.so

#4 0x000000000057bf33 in PyEval_EvalFrameEx ()

#5 0x000000000057d3d3 in PyEval_EvalCodeEx ()

#6 0x000000000057df80 in ?? ()

#7 0x000000000043810a in PyObject_Call ()

#8 0x00000000004d3745 in ?? ()

#9 0x000000000043810a in PyObject_Call ()

#10 0x00007ffff677669c in ?? () from /usr/lib/python3/dist-packages/pygrib.cpython-34m-x86_64-linux-gnu.so

#11 0x000000000043810a in PyObject_Call ()

#12 0x00007ffff675788a in ?? () from /usr/lib/python3/dist-packages/pygrib.cpython-34m-x86_64-linux-gnu.so

#13 0x00007ffff6762ece in ?? () from /usr/lib/python3/dist-packages/pygrib.cpython-34m-x86_64-linux-gnu.so

#14 0x000000000057bf33 in PyEval_EvalFrameEx ()

#15 0x000000000057d3d3 in PyEval_EvalCodeEx ()

#16 0x000000000060ba83 in PyRun_FileExFlags ()

#17 0x000000000060bc85 in PyRun_SimpleFileExFlags ()

#18 0x000000000060d3ac in Py_Main ()

#19 0x000000000041ec0d in main ()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值