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

[dennou-ruby:003583] NArrayMiss.stddev



内藤@京大です。ちょっと助けてください。

サーバの OS がグレードアップされたタイミングで、
NArrayMiss を利用したスクリプトが動かなくなってしまいました。
self.stddev(-1) を求めようとすると、平均値を引く操作のところで
「引き算の前後の配列サイズが違う」と怒られます。

NArrayMiss のバージョンは 1.2.6 となっています。
古い NArrayMiss がインストールされた別のサーバ
(2009年頃インストールされた) では、まだちゃんと動くので、
NArrayMiss のバージョンアップが引き金のような気がするのですが、
どなたかわかりますでしょうか?

簡単なテストスクリプトとエラーメッセージを添付します。
GPhys チュートリアル (旧版) で使っているデータ T.jan.nc を
ダウンロードして動かしてみてください。
ちなみに、テストスクリプト中でコメントアウトしているように、
引き算前と引き算後に相当する配列を書き出してみたところ、
そこまでは問題なさそうに見えたのですが。。。

------------
内藤 陽子 <naito@xxxxxxxxxxxxxxxxxx>

require "numru/gphys"
include NumRu

fname="T.jan.nc" # a sample data file downloaded from 
# <http://www.gfd-dennou.org/library/ruby/products/gphys/tutorial/T.jan.nc>
vname="T"
data = GPhys::NetCDF_IO.open(fname,vname).val

p data
#p data.get_mask
#mask1=data.get_mask
#p data.accum(-1)
#p data.accum(-1).get_mask
#mask2=data.accum(-1).get_mask
#p mask1 & mask2

p data.stddev(-1)

/usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:1296:in `&': Array size mismatch: 9 != 19 at 2-th dim (RuntimeError)
        from /usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:1296:in `binary_operation'
        from /usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:389:in `-'
        from /usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:601:in `stddev'
        from /usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:1325:in `reduction'
        from /usr/lib/ruby/vendor_ruby/narray_miss/narray_miss.rb:600:in `stddev'
        from test_narray_miss.rb:17