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

[dennou-ruby:002987] gphys analysis methods



西澤です

gphysを使って解析可視化する際、
現状では、解析部分は、
簡単な統計関数およびEPフラックス計算がサポートされている以外、
基本的には自分でスクリプトをかかないといけません。

なんとかいろいろ増やしたいなと思っていたのですが、
この度、自分が使う解析用メソッドを作ってみました:
EOF, ヒストグラム


EOF:
* ssl2, lapack, gsl の見つかった固有値計算関数を使います
  * lapack は、ここで必要な関数だけラップしたものを添付のソースにつけてあるので、
    CLAPACKをインストールして、添付のソースの ruby ラッパーをコンパイルすると使えます
* "lon", "lat" で始まる名前の軸を両方持っている場合、自動的にcos(lat)が重みづけされて計算されます。


ヒストグラム
* 1次元および2次元ヒストグラムをサポート
* 1次元ヒストグラム表示用箱グラフメソッドも GGraph に追加しています。


そのうち gphys 本体に取り込まれるとよいなと思います。
また、皆さんが使う解析方もどんどん追加されて、増えていくと、
みんなが幸せになれるかと思います。


基本的に、GAnalysis モジュールのメソッドとして定義してありますが、
できるものは gphys のクラスメソッドとしても使える用にしてあります。

例 (EOF)
include NumRu
slp = GPhys.IO.open("slp.nc","slp")  # slp["lon","la","time"]
vect, rate = slp.eof("time", "nmodes"=>4) #=> [eof vector, contribution rate]
                                                            # eof
vector["lon","lat","mode"], contribution rate ["mode"]
# GAnalysis.eof(slp, "time", "nmodes"=>4) と同じ

DCL::gropn(4)
GGraph.tone(vect[true,true,-1])
DCL::grcls


-- 
Seiya Nishizawa
Department of Earth and Planetary Atmospheric Sciences, Kobe University

Attachment: ganalysis.tar.gz
Description: GNU Zip compressed data