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

[dennou-ruby:003058] Re: Fw: 電脳Rubyで2次元gribファイル読み込み



西澤です

2009/3/3 Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>:

> となります。これをコマンドラインで読み込むと、データを
> OPENするところでエラーストップします。
>
> irb > require 'numru/gphys'
> irb > include NumRu
> irb > gphys = GPhys::IO.open( PRMSL2004010100.grib,"PRMSL" )
>
> /usr/lib/ruby/1.8/numru/gphys/grid.rb:213:in `initialize': each
> argument must be an Axis (ArgumentError)
>        from /usr/lib/ruby/1.8/numru/gphys/grid.rb:209:in `each'
>        from /usr/lib/ruby/1.8/numru/gphys/grid.rb:209:in `initialize'
>        from prs_grib2nc.rb:78:in `new'
>        from prs_grib2nc.rb:78
このエラーをみると、
GPhys::IO.open
でこけているのではなく、
Grid.new
でこけているようです。
Grid.new に与えている引数が Axis クラス でないというエラーですね。
(最初 grib と grid を見間違えて、grid.rb を見て 行番号を見ても each や initialize がなくて困惑しました^^;)

prs_grib2nc.rb を見せてもらえますでしょうか。

いただいた grib2nc.rb をみて想像すると
54行目からの
          lon = Axis.new.set_pos(x)
          lat = Axis.new.set_pos(y)
          lev = Axis.new.set_pos(z)
          time= Axis.new.set_pos(t)
というところに一度もたどりついていないのではないかと思われます。
43行目の if File.exist?(fname) にマッチするファイルはちゃんと存在しますでしょうか。



-- 
Seiya Nishizawa
Department of Earth and Planetary Atmospheric Sciences, Kobe University