[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:003058] Re: Fw: 電脳Rubyで2次元gribファイル読み込み
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:003058] Re: Fw: 電脳Rubyで2次元gribファイル読み込み
- From: Seiya Nishizawa <seiya@xxxxxxxxxxxxxx>
- Date: Wed, 4 Mar 2009 10:28:32 +0900
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=MvtoFy8fqJkAogdsOavwA0qWtOQR8nPC0uqByQh8llw=; b=fGbJkRt6kgG+kCkM7w9w753OGBrxL6tU/2BSFNDD71MOPw/NurMHOv6HSjBVEmD+nR TxyUBwhzySSqCB7tRczqzighCFluYNn+gKM7Ulur9Ah/gmPc0zsW+Zdw4NxBYCtw9a2p gUD6DRVSM075StvO/hn2c50o6kxnpwizuZmf4=
- Sender: seiyani@xxxxxxxxx
西澤です
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