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

[dennou-ruby:002023] Re: gphys-0.3.5 released



神代です.

さっそく gphys-0.3.5 の GGraph を使ってみていますが,うまくいかないと
ころがあるので相談させてください.

sample/map_projection.rb はうまくいくんですが,例えば,
NCEP/NCAR再解析データの地表面気温データを
ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.derived/surface/air.mon.mean.nc
からとってきて,以下のように表示しようとすると,地図投影の場合に変なコ
ンターになってしまいます.再現しますでしょうか??

たぶん,gphys.rb の cyclic_ext の定義のところで

vx[-1] = vx[-1].val + modulo

としたときに,vx[-1] だけでなく vx[0] も 0.0 から 360.0 に変わっている
のが原因じゃないかと思います.
(これまでは手元のプログラムでも cyclic_ext と似たようなことをしていて
問題なかったのですが,そこで vx[0] = vx[-1] = 360.0 としてみると再現し
ましたので,おそらく)

よくわかりませんが,重複した値のある格子点座標値を uwsgxa に渡してコン
ター描いたときに,問題が起こる場合がある,ということなんですかね.
(手元のプログラムでは,vx[0] = vx[-1] = 360.0 となっていても uwsgxa を
呼ばなければ問題は起こらなかったです)

----
require "numru/ggraph"
include NumRu

gp = GPhys::IO.open("air.mon.mean.nc","air")

DCL::gropn(1)
DCL.sldiv('y',2,1)
DCL.sgpset('lcntl',false)
GGraph::tone(gp)
GGraph.set_fig('itr'=>10)
GGraph.set_map('vpt_boundary'=>true, 'coast_world'=>true)
GGraph.tone(gp)
DCL::grcls
----