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

[dennou-ruby:002042] Re: GGraph and gpview



竹広さん 

> テストプログラムだけでなく netcdf ファイルもあるので
> dennou に置きました. 
> 
>  http://www.gfd-dennou.org/arch/takepiro/dennou/ruby/
> 
> 以下に ggraph.rb, gpview とテストプログラム ggraph_test_itr5.rb と
> gtool4 データ case1_initial.nc があります. 
> 
> itr=6 もやろうかと思いましたが, データがないのでとりあえず
> itr=5 だけで止めておきました. 

ドキュメントも用意してありますし、よさげです。こんなふうにいろん
な人の貢献が増えるのは、大変嬉しいです。ただ、大元の作者の立場か
らみると、細かいところが幾つか気になります。すみませんが、お付き
合いくださいませ。

(1) やはり unless opts['itr']==5 then ... のように相似変換と
    itr==5 を同一視するコーディングは変えた方がいいと思います。

    # ところで相似変換の英語は similar transformation と
       similarity transformation のどっちでしょう? どっちでも
       いい?

(2) 相似変換のときは  polar_coordinate_boundaries を呼ぶという
    ふうにしてますが、itr=5 以外にも通用するのでしょうか。もし
    itr=5 限定でしたら、そのように限るべきです。そして出来れば
    itr=6 用のも欲しいところです。双曲線座標なので書くとして
    も恐らく viewport の枠ぐらいでしょうから簡単でしょう。
    (メソッド map 内に viewport の枠を書く例があります。)

(3) topology / modulo という属性の解釈は GGraph ではやりたく
    ないです(GGraph は GPhys クラスとは一応独立なので、出来るだけ 
    GPhys オブジェクトの詳細に依存させたくないです)。 今の場合、
    投影する座標系そのものが cyclic ということで、ここは単純に
    GPhys#cyclic_ext を呼ぶだけにしてください。座標系の角
    度の単位は度かradが仮定されてないでしょうか? となるとmoduloは
    自ずと決まりますね。 ちなみに、将来課題として gtool4 コンベン
    ションのちゃんとしたサポートをしたいと思ってます。その折りには、
    GPhys#cyclic_ext 内で modulo を自動取得できるようにしたいです。
    (その際、別のコンベンションでは topology & modulo の指定の
    仕方が異なるということを許容できるようにしたいです。)

    余談ですが度を期待しているところに rad の軸がきたら 
    VArray#convert_units(to) が使えます:

    coord = gp.axis(0).pos    # 当の軸が1次元目の場合。名前指定も可
    coord_deg = coord.convert_units('degrees')
    gp.axis(0).set_pos(coord_deg)

    これは座標を構成しているオブジェクトそのものを coord_deg 
    に置き換えますので、ファイルは上書きしません。
    なお、地図投影でも度が期待されてるんですが、サボってしまって
    今のところ変換はしてません ^^;

(4) テストデータは解析的なデータでしょうか? このような場合、テス
   トプログラム中で作っちゃうのが手です。例えば gphys.rb
   (lib/numru/gphys/gphys.rb) のテスト部分ではそのようにしてます。
   やはり、デモも兼ねて、メジャーな機能に関してはテスト埋め込みが
   望ましいですが、添付するデータファイルを増やすのは慎重にした
   いです。そして、できればやはり itr=6 のテストが欲しいです。

以上が基本的にクリアされれば直接コミットして貰えますが、それが面
倒であれば私が取り込むのを待って頂きたいです。といってもすぐには
出来そうにないので、遅くなりそうなら (4) についてはある程度妥協
も考えないとならんと思ってます。ただ、ファイルに頼らない GPhys 
オブジェクトの構成は一度やってみて悪くないと思います。(例えば解
析的な初期値からの数値シミュレーションに応用できるでしょう。) 
やってみて困ったら相談して頂くということでいかがでしょう。

堀之内 武                    horinout@xxxxxxxxxxxxxxxxxx
京都大学生存圏研究所               611-0011 宇治市五ヶ庄