#!/usr/bin/ruby # coding: utf-8 # 使用するライブラリの読み込み. (以下 2 行は「決まり文句」.) require "numru/ggraph" include NumRu # 画面を開く (open) # 引数の 1 は画面への描画を表す DCL.swpset("ifl",1) # 引数の 2 はファイルへの出力を表す # (デフォルトでは出力は pdf 形式でファイル名は dcl.pdf) # pngファイルへと保存 DCL.gropn(2) # for を使うことで, 2010年, 2011年, 2012年, ... , 2020年 の一年ごとの分布を描画 for i in 10..20 # NetCDF ファイル の東西風(uwnd) のデータをuwnd_data に格納 # ruby では文字列を + で結合することができる # i は元々整数型変数. # + を使って結合するためには文字列でなければならないため, # to_s メソッド (s は string の略) を使って文字型変数に変換している. uwnd_data = "uwnd.20" + i.to_s + ".nc" # uwnd_data から変数 "uwnd" を読み, GPhys オブジェクト gp に格納 gp = GPhys::IO.open( uwnd_data, "uwnd" ) # (lon)軸に対して平均し, cutメソッドでlat = 0 (赤道)を切り出す. gp = gp.mean('lon').cut('lat'=>0) # cutメソッドでlevelを範囲を指定して切り出す. gp = gp.cut('level'=>200..0) # 欠損値処理 DCL.glpset('lmiss',true) # 描画画面を準備 # itr の 1 は横軸, 縦軸ともに線形を表す # 2 は横軸が線形軸, 縦軸が対数軸を表す # 3 は横軸が対数軸, 縦軸が線形軸を表す # 4 は横軸, 縦軸ともに対数軸を表す GGraph.set_fig( 'itr'=> 1 ) # トーン (色付け) で描画 # 第一引数は描画するデータの GPhys オブジェクト # 第二引数の true は新しい図であることの指定 # exchange は縦軸と横軸の交換 # annotate は図の右上に書かれる情報の表示の有無の指定 # nlev は使用するトーン (色分け) の数の指定 # min は描画するトーンの最小値の指定 # max は描画するトーンの最大値の指定 GGraph.tone( gp, true ,"exchange"=>true, 'annotate'=>true, 'nlev'=>20, 'min'=>-40, 'max'=>30 ) # カラーバーを描画 GGraph.color_bar end # 画面を閉じる (close) DCL.grcls