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

[dennou-ruby:003412] lost_axes returns false



竹広です. 

dcpam5 の出力を絵に描こうとしてトラブったので質問です. 
以下のように渦度の 4 次元データを読みこんで, 時間と経度の
切出しを行った後に描画しようとしたらエラーを起こして
うまくいきませんでした. 

lost_axes で失われた軸情報を得ようとしたら時間軸の切出し
情報が false になってました. これが string でないために 
GGraph::annotate でエラーを起こしているようです. 

データの時間軸情報が

          float time(time) ;
                time:long_name = "time" ;
                time:units = "hrs  since 2000-01-01T00:00:00" ;

と "hrs since..." になっていることに問題があるのかと想像しています. 
というのは, 時間軸情報が

        float time(time) ;
                time:long_name = "time" ;
                time:units = "day  since 2000-01-01T00:00:00" ;
 
と "day since..." の場合にはこのような問題が起きなかったからです. 

netCDF データが悪いのか, GPhys の方に問題があるのか良く分からないので
調べて頂けたらありがたいです. 問題のデータは dennou server に

      dennou-k:~takepiro/venus_Vor.nc

としておいてあります. よろしくお願いします. 

                    Takepiro(竹広真一)@数理解析研究所. 京都大学
                      	E-mail:takepiro@xxxxxxxxxxxxxx
			       takepiro@xxxxxxxxxxxxxxxxxxxx

======================================================================
irb(main):009:0> vor=GPhys::IO.open('venus_Vor.nc','Vor')
=> <GPhys grid=<4D grid <axis pos=<'lon' in 'venus_Vor.nc'  sfloat[1]>>
        <axis pos=<'lat' in 'venus_Vor.nc'  sfloat[16]>>
        <axis pos=<'sig' in 'venus_Vor.nc'  sfloat[50]>>
        <axis pos=<'time' in 'venus_Vor.nc'  sfloat[13]>>>
   data=<'Vor' in 'venus_Vor.nc'  sfloat[1, 16, 50, 13]>>
irb(main):010:0> vor1 = vor.cut('lon'=>0,'time'=>12)
=> <GPhys grid=<2D grid <axis pos=<'lat' shape=[16]  subset of a NumRu::VArrayNetCDF>>
        <axis pos=<'sig' shape=[50]  subset of a NumRu::VArrayNetCDF>>>
   data=<'Vor' shape=[16, 50]  subset of a NumRu::VArrayNetCDF>>
irb(main):011:0> DCL.sgpset('LCNTL',false)
=> nil
irb(main):012:0> tone vor1
 *** MESSAGE (SWPCLS) ***  GRPH1 : PAGE =   2 COMPLETED.
NoMethodError: undefined method `to_str' for false:FalseClass
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:3385:in `sgtxzr'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:3385:in `annotate_at'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:3384:in `each'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:3384:in `annotate_at'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:3375:in `annotate'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:4654:in `axes_or_map_and_ttl'
        from /home/takepiro/lib/ruby/site_ruby/1.8/numru/ggraph.rb:4869:in `tone'
        from (irb):12
irb(main):013:0> vor1.lost_axes
=> ["lon=0 degree_east", false]
======================================================================