[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003607] Re: GPhys::Grib_IO で grib データを読みたい



堀之内です。

> 旧チュートリアルから T.jan.grib と contour1000mb_grib.rb を
> 取ってきて実行すると、下記のようなエラーが出ます。

とりあえずこれについてのみ。

私のところでは正常に実行できます
(内藤さんとおなじく ruby 1.8 で, GPhysは 1.2.2)。
使ってるGPhysのバージョンはなんでしょう?
(あまりGPhysのバージョンに左右されそうに
ないですが)。また,grib ファイルが壊れたりしてませんか。

> 内藤@京大です。
> 
> GPhys で grib データを読もうとして、はまっています。
> JRA-25 のデータを読みたいのですが、それ以前に、
> 旧チュートリアルにある T.jan.grib がちゃんと読めません。
> 初歩的な躓きかもしれませんが、アドバイスいただけないでしょうか。
> 
> 旧チュートリアルから T.jan.grib と contour1000mb_grib.rb を
> 取ってきて実行すると、下記のようなエラーが出ます。
> inspect_varnames.rb でも同様です。
> 
> #----------------------
> /usr/lib/ruby/1.8/numru/gphys/grib.rb:377:in `to_uint1': string contains
> null byte (ArgumentError)
>         from /usr/lib/ruby/1.8/numru/gphys/grib.rb:377:in `version'
>         from /usr/lib/ruby/1.8/numru/gphys/grib.rb:210:in `parse'
>         from /usr/lib/ruby/1.8/numru/gphys/grib.rb:1431:in `parse'
>         from /usr/lib/ruby/1.8/numru/gphys/grib.rb:1411:in `open'
>         from /usr/lib/ruby/1.8/numru/gphys/gphys_grib_io.rb:80:in `open'
>         from /usr/lib/ruby/1.8/numru/gphys/gphys_io.rb:121:in `open'
>         from contour1000mb_grib.rb:3
> #----------------------
> 
> また、JRA-25 のデータファイル (たとえば anl_mdl.197901.gr) を
> inspect_varnames.rb もどき
> #----------------------
> require "numru/ggraph"
> p NumRu::GPhys::Grib_IO.var_names('anl_mdl.197901.gr')
> p NumRu::GPhys::IO.var_names('anl_mdl.197901.gr')
> #----------------------
> で読もうとすると、別のエラーが出ます。
> 
> #----------------------
> This Grib version (201) has not supported yet
> []
> /usr/lib/ruby/1.8/numru/gphys/gphys_io.rb:257:in `var_names': undefined
> method `var_names' for nil:NilClass (NoMethodError)
>         from inspect_varnames_JRA.rb:3
> #----------------------
> 
> それぞれ問題が違うような気もするのですが、いずれにしても
> どうしたらよいかわからなくて困っています。
> どなたかお知恵を貸してください。よろしくお願いします。
> 
> ------------------------------------------------------------
> 内藤 陽子 <naito@xxxxxxxxxxxxxxxxxx>

堀之内 武
北海道大学 地球環境科学研究院 地球圏科学部門
〒060-0810 札幌市北区北10条西5丁目