大塚です。 遅ればせながら numru-units 1.8 を使ってみました。 GPhys で GrADS 形式のファイルを読んだところ、以下のようなエラーが 出ましたので報告します。 テストコードとテストデータを添付します。 ruby 2.0.0p353 と 2.2.0p0 で確認しましたが、同じエラーが出ました。 以前の units ではエラーにならなかったと思います。 GPhys は 1.4.1 です。 時間の単位の所で問題が起こっているようですが、 それ以上はまだ確認していません。 よろしくお願いいたします。 otsuka@hakushu:~> ruby test.rb /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:529:in `on_error': (Racc::ParseError) parse error on value "Z" (NAME) from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in `_racc_do_parse_c' from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in `do_parse' from units.racc:2466:in `do_parse2' from units.racc:2471:in `ptree' from units.racc:2661:in `binop' from units.racc:2674:in `/' from units.racc:2713:in `=~' from /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/axis.rb:642:in `[]' from /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:515:in `block in []' from /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in `each' from /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in `[]' from /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/gphys.rb:665:in `[]' from test.rb:4:in `<main>' otsuka@hakushu:~> ruby -v ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux] On 2015/01/13 10:52, Takeshi Horinouchi wrote: > 神代さま > > 確認ありがとうございました。 > >> ただ, units.rb の最後にも同じテストが入っているはずですが, > > test.rb が取り込まれるんですね。意識してなかったので, > test.rb 更新後に再生成しませんでした。まあ test.rb の > ほうが通るのでいいことにします。(次のリリースのときには > 取り込まれるでしょう。) > >> 神代です. >> >> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux] >> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux] >> >> にて, src/test.rb で確認しました. 大丈夫です. >> >> ただ, units.rb の最後にも同じテストが入っているはずですが, >> なぜか答が間違っている古い状態になっているようで, >> >> % ruby units.rb >> >> のほうは失敗しました. >> >> よろしくお願いします. >> >> -- >> 神代 剛 (こうしろ つよし) >> 気象研究所気候研究部第四研究室 支援研究員 >> >> >> At Mon, 12 Jan 2015 18:57:18 +0900, >> Takeshi Horinouchi wrote: >>> >>> 堀之内です。 >>> >>> パッチを取り込んで ver. 1.8 をリリースしました: >>> https://www.gfd-dennou.org/library/ruby/products/numru-units/ >>> >>> パッチを見てわかったのですが,本質的な問題は racc のルールの >>> とある一行なんですですね。 >>> >>> 参考まで,パッチでは units.racc が変更されていましたが, >>> units.racc は make で生成されるので,オリジナルファイル(rules.rb) >>> を変更しました。units.rb も,racc コマンドで生成される >>> ものですのでパッチ不要でした。保守的に ruby 1.8 を使って >>> 生成し,ruby 2.1 でもテストが通るのを確認しました。ruby 2.2 >>> でも大丈夫でしょうか。> 神代さま。 >>> >>> ruby 1.6 対応部分の削除はそれでいいです(取り込みました)。 >>> もともと ruby 本体の保守の関係上サポートしませんので。 >>> >>>> 西澤さま: >>>> >>>> 神代です. >>>> >>>> 僕も最近困っていたので, さっそく試してみました. >>>> >>>> こちらでは >>>> >>>> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux] >>>> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux] >>>> >>>> でうまくいっています. ありがとうございます. >>>> >>>> 以下, たいしたことではないですが, >>>> >>>> numru-units-1.7.tar.gz にパッチをあててやってみました. >>>> この場合, >>>> % ruby install.rb >>>> でインストールしますが, install.rb が古いため失敗してしまうので, >>>> こいつでも ruby 1.6 を切り捨てる修正をしました. >>>> あと, 修正版の src/units.rb が lib/numru/units.rb にコピーされ >>>> てなかったので, そのままだと古いままになってしまうので, >>>> % cp -p src/units.rb lib/numru/ >>>> をしました. >>>> ここまでやった状態を numru-units-1.7-ruby2.2.0.patch としました >>>> ので, ご利用ください. >>>> >>>> -- >>>> 神代 剛 (こうしろ つよし) >>>> 気象研究所気候研究部第四研究室 支援研究員 >>>> >>>> >>>> At Tue, 06 Jan 2015 01:59:21 +0000, >>>> Seiya Nishizawa wrote: >>>>> >>>>> 西澤です >>>>> >>>>> 周りに ruby 2.1 が増えてきて、numru-units が動かないのが不便なので、対 >>>>> 応してみました。 >>>>> >>>>> 試した環境は >>>>> ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux] >>>>> ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] >>>>> です。 >>>>> ruby 1.6 は切り捨てることにしました >>>>> >>>>> racc 1.4.5 で作ったので、もしかすると環境によっては動かないところがあ >>>>> るかもしれませんので、 >>>>> テストしていただければと思います。 >>>>> >>>>> よろしくお願いします。 >>>>> >>>>> 西澤誠也 >>>>> >>>>> On Sat Dec 27 2014 at 16:44:06 Takeshi Horinouchi >>>>> <horinout@xxxxxxxxxxxxxxxxx> wrote: >>>>> >>>>> 堀之内です。 >>>>> >>>>> > 確か ruby 2.0 じゃないと numru-units が動かないと思います。 >>>>> >>>>> Ruby 2.1 では numru-units が利用する racc の振る舞いが >>>>> 変わっててうまく動きません >>>>> ([dennou-ruby:003720] numru-units on ruby 2.1 のスレッド)。 >>>>> これは未究明です。2.2 で自然解決してればいいんですが, >>>>> 試してません。 >>>>> >>>>> # racc はよくわかってなくて私が調査しても難航しそうで... >>>>> >>>>> > 大塚です。 >>>>> > >>>>> > 確か ruby 2.0 じゃないと numru-units が動かないと思います。 >>>>> > この問題、解決しましたっけ? >>>>> >>>>> >>>> >>> >>> 堀之内 武 >>> 北海道大学 地球環境科学研究院 地球圏科学部門 >>> 〒060-0810 札幌市北区北10条西5丁目 >>> >>> > > 堀之内 武 > 北海道大学 地球環境科学研究院 地球圏科学部門 > 〒060-0810 札幌市北区北10条西5丁目 > > -- 大塚成徳 (Shigenori OTSUKA) 独立行政法人理化学研究所 計算科学研究機構(AICS) データ同化研究チーム 〒650-0047兵庫県神戸市中央区港島南町7-1-26 電話078-940-5814 shigenori.otsuka@xxxxxxxx
require "numru/ggraph" include NumRu g = GPhys::IO.open("hoge.ctl", "var") g[false, 0].val
DSET ^hoge.bin TITLE test options little_endian template undef -9.99e+08 XDEF 10 LINEAR 1 1 YDEF 10 LINEAR 1 1 ZDEF 10 LINEAR 1 1 TDEF 10 LINEAR 01JAN2015 1yr VARS 1 var 10 99 test data m/s ENDVARS
Attachment:
hoge.bin
Description: Binary data