# 使用するライブラリの読み込み. (以下 2 行は「決まり文句」.) require "numru/ggraph" include NumRu # NetCDF ファイル "skt.mon.mean.nc" から変数 "skt" を読み, GPhys オブジェクト gp に gp = GPhys::IO.open( "skt.mon.mean.nc", "skt" ) t = 0 for i in 1967..1996 # GPhys オブジェクト gp 内の変数 "skt" から time=----.11.01 のデータを切り出す (cut) gpa = gp.cut('time'=>DateTime.parse(i.to_s + "-11-01 00:00:0.0")) t = t + gpa end #tは1967年から1996年の11月の合計、aveは1967年から1996年の11月の平均 ave = t / 30 # GPhys オブジェクト gp 内の変数 "skt" から time=1997.11.01 のデータを切り出す (cut) gpb = gp.cut('time'=>DateTime.parse("1997-11-01 00:00:0.0")) #偏差の計算 gpc = gpb - ave # 画面を開く (open) # 引数の 2 はファイルへの出力を表す DCL.swcset('fname','epcff6') DCL.swpset("ifl",1) DCL.gropn(2) # 描画に関わる各種の指定 # フォントサイズ (元の値に対する比率) DCL.uzfact(0.8) # 軸範囲を超えた領域を描画しない DCL.sgpset('lclip',true) # 軸にラベルを書く間隔 GGraph.set_axes('xlabelint'=>10) GGraph.set_axes('ylabelint'=>5) # 地図情報の指定. ここでは海岸線を描くように設定. GGraph.set_fig('itr' => 10, 'viewport'=>[0.05,0.9,0.25,0.75], 'window'=>[210,270,-5,5]) GGraph.set_map( 'coast_world'=>true, 'grid'=>true ) # トーン (色付け) で描画 # 第一引数は描画するデータの GPhys オブジェクト # 第二引数の true はこの時点では「決まり文句」 GGraph.tone( gpc, true, 'annotate'=>false, 'map_axes'=>true, "max"=>6.5, "min"=>0.5, 'nlev'=>12 ) # カラーバーを描画 GGraph.color_bar # 画面を閉じる (close) DCL.grcls