[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:003978] Re: 巨大なデータでコンターを引く
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:003978] Re: 巨大なデータでコンターを引く
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>
- Date: Wed, 29 Jun 2016 21:47:14 +0900
中野さま
> 怒られました。。。(gphysが古いからかもしれませんが。。)
変わってないでしょう。GrADS 形式の扱いについては,改良の余地が
大きいかもしれません。GrADS 形式で大きなデータを扱うことがしば
しばあるようでしたら,高速化することを検討してみてはいかがでしょう。
堀之内
> 堀之内様
>
> 中野です。
>
> そんな書き方もできるのですね。
> 試してみましたが、gradsはサポートされてないみたいですね。怒られました。。。(gphysが古いからかもしれませんが。。)
> cc-env/lib/ruby/site_ruby/2.2.0/numru/gphys/grads_gridded.rb:1426:in
> `get': sorry, stride is not supported yet. (RuntimeError)
> 今回はたまたまgradsですが、普段はNetCDF4を主に使ってます。
>
> 中野
>
>
>
> 2016年6月29日 18:51 Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>:
> > 堀之内です。
> >
> >> idx=NArray.int(1024).indgen*10
> >> GGraph.contour gp[idx, true]
> >> みたいに間引きをやってみましたが、この方法は結構おそいんですね。。。
> >
> > GGraph.contour gp[{0..-1=>10}, true]
> >
> > でどうでしょう。(NetCDF-3 なら速くなるで
> > しょう。NetCDF-4 だと,[dennou-ruby:003840] の事情のため
> > まさに内部で idx=... 方式に変換するので速くなりませんが。
> > NetCDF-4 読み飛ばし遅い問題はもう解決したんですかね。
> > それなら迂回策を廃止できるんですが。)
> >
> >> ありがとうございます。ulimit -s unlimitedで問題なくいけました。
> >
> > そんなことかと想像してましたが,"too deep" って変ですね。
> >
> >> 樫村さま
> >> 中野です。
> >>
> >> ありがとうございます。ulimit -s unlimitedで問題なくいけました。
> >> お騒がせしました。
> >> #MAXNGRIDはいつも10倍することにしてます。
> >>
> >>
> >> うまくいくまでは、とりあえずの策で
> >> idx=NArray.int(1024).indgen*10
> >> GGraph.contour gp[idx, true]
> >> みたいに間引きをやってみましたが、この方法は結構おそいんですね。。。
> >>
> >>
> >> 中野
> >>
> >>
> >> 2016年6月29日 18:00 Hiroki Kashimura <hiroki@xxxxxxxxxxxxxx>:
> >> > 中野さま:
> >> >
> >> > 樫村です。
> >> >
> >> > 実は ulimit -s unlimited で描けるようになったりしないでしょうか。
> >> >
> >> >
> >> > あと、DCLのコンパイル時にMAXNGRIDを陽に設定しないと、
> >> > デフォルト値 4000 が使われるので、軸の長さがそれを超える場合は
> >> > トーンも描けませんでした。
> >> >
> >> >
> >> > 手元では、(10240x2560のNetCDFファイル bigdata.nc を作っておいて)
> >> >>gpview bigdata.nc@val
> >> > →`uwsgxa': [UWSGXA] WORKING AREA IS NOT ENOUGH. (RuntimeError)
> >> >
> >> >>gpview bigdata.nc@val,x=^0:3999
> >> > →stack level too deep (SystemStackError)
> >> >
> >> >>ulimit -s unlimited
> >> >>gpview bigdata.nc@val,x=^0:3999
> >> > →描画成功
> >> > でした。
> >> >
> >> >
> >> > 別の方法としては、きれいに描けるか分かりませんが、
> >> > 描画可能ないくつかのタイルに分けて、重ね書きでしょうか。
> >> > # 少し試してみたところ、コンターは描けましたが、トーンはダメでした。
> >> >
> >> >
> >> >> 2016/06/28 19:11、Masuo Nakano <masuo@xxxxxxxxxxxxxx> のメール:
> >> >>
> >> >> 中野です。
> >> >>
> >> >> gphysで巨大なデータ(10240x2560)でコンターをひこうとすると、stack level too deep
> >> >> (SystemStackError)といわれました。
> >> >> #トーンはもんだいありませんでした。
> >> >>
> >> >> 2560x2560だと問題なくコンター引けることがわかりました。
> >> >> とりあえずはデータを間引けばよさそうですが、なにか他によい対処方法はありますでしょうか?
> >> >>
> >> >> ruby 2.2.0
> >> >> dcl-c 6.0.0
> >> >> ruby-dcl-1.7.1
> >> >> gphys-1.4.3
> >> >> を使っております。
> >> >>
> >> >> cc-env/lib/ruby/site_ruby/2.2.0/numru/dcl.rb:1012:in `udcntz': stack
> >> >> level too deep (SystemStackError)
> >> >> from cc-env/lib/ruby/site_ruby/2.2.0/numru/dcl.rb:1012:in `udcntz'
> >> >> from cc-env/lib/ruby/site_ruby/2.2.0/numru/ggraph.rb:2590:in `contour'
> >> >> from ps_dp-sp_resolution.rb:62:in `<main>'
> >> >>
> >> >> どうぞよろしくお願いいたします。
> >> >>
> >> >> 中野
> >> >>
> >> >>
> >> >
> >> > 樫村(山本)博基
> >> > hiroki@xxxxxxxxxxxxxx
> >> >
> >> >
> >> >
> >>
> >>
> >
> > 堀之内 武
> >
> >
>
>