#!/usr/bin/ruby # coding: utf-8 #使用するらいぶらりの読込 require "numru/ggraph" include NumRu #NetCDF #格納 gp=GPhys::IO.open("slp.2019.nc","slp") gpu=GPhys::IO.open("uwnd.10m.gauss.2019.nc","uwnd") gpv=GPhys::IO.open("vwnd.10m.gauss.2019.nc","vwnd") #cutmethodを使うところ #画面を開く # 引数の1が画面への描写、2がファイル出力(デフォルトでpdfファイル化される) DCL.swpset("ifl",1) DCL.gropn(2) #各種設定 #DCL.sgpset('lfull',true) # 描画範囲を最大に設定 (ウィンドウのギリギリま で使用) DCL.uzfact(0.6) # フォントサイズ (元の値に対する比率) DCL.sgpset('lclip',true) # 軸範囲を超えた領域を描画しない DCL.glpset('lmiss',true) # 欠損値処理 GGraph.set_axes('xlabelint'=>30) # x 軸にラベルを書く間隔 GGraph.set_axes('ylabelint'=>30) # y 軸にラベルを書く間隔 #画面の準備 #1縦横線形。、2たてが対数、3横が対数、4が縦横対数 GGraph.set_fig('itr'=>10) #湾岸線の指定 GGraph.set_map('coast_world'=>true,'grid'=>true) #forを使うことで連続させる #forを使う事で9月3日~9月12日まで、かつ0時~18時までの1時間ごとの分布 for i in 3..12 for j in 0..18 #6時間毎のデータの表示 if j%3 == 0 then timelabel = "2019-09-" + i.to_s + " " + j.to_s + " :00:00" #繰返し回数 print i, " : " ,timelabel,"\n" #湾岸線を書いて下さい #GGraph.set_map('coast_world'=>true,'grid'=>true) #色付描写 #第一引数はGPhysおぶじぇくと #第二引数はtrue faulseで決める GGraph.tone(gp.cut('lon'=>120..180,'lat'=>0..60,'time'=>DateTime.parse(timelabel)),true,'annotate'=>true,'map_axes'=>true,'nlev'=>50,'min'=>97000,'max'=>103000) #カラーバーの描画 GGraph.color_bar #ベクトルの描画 GGraph.vector( gpu.cut('time'=>DateTime.parse(timelabel)), gpv.cut('time'=>DateTime.parse(timelabel)),false,"xintv"=>2,"yintv"=>2,"factor"=>6,"unit_vect"=>false) end end end #おしまい DCL.grcls