# Title: Ruby script drawing contour map for deepconv/arare5 output data 
#
# History: 2011/09/27 (Masatsugu Odaka)
#
require "numru/ggraph"
include NumRu


filedir = "time_000180000-000280000"
filehead = "BS1998_PTemp"
file_base = 'restart_long-PTempBZ.nc'
file0 = "../#{filedir}/#{filehead}_rank000000.nc"
file1 = "../#{filedir}/#{filehead}_rank000001.nc"
file2 = "../#{filedir}/#{filehead}_rank000002.nc"
file3 = "../#{filedir}/#{filehead}_rank000003.nc"
file4 = "../#{filedir}/#{filehead}_rank000004.nc"
file5 = "../#{filedir}/#{filehead}_rank000005.nc"

varname0 = 'PTempBZ'
varname1 = 'PTemp'
ltime = 864000.0

var_base  = GPhys::IO.open(file_base, varname0)
var1  = GPhys::IO.open([file0,file1,file2,file3,file4,file5], varname1)
time  = GPhys::IO.open(file1, 't').val


#GGraph.set_linear_contour_options( 'min'=>-2.0, 'max'=>5.0, 'interval'=>1.0 )  
GGraph.set_linear_tone_options( 'min'=>-1.0, 'max'=>4.0, 'interval'=>0.050 )  
GGraph.set_fig('viewport'=>[0.08,0.92,0.4,0.6])

# <Open DCL>
#DCL.swlset( 'ldump', true )
DCL.gropn(2)
#DCL.sgpset('lfull',true)
DCL.uzfact(0.5)
#for i in 0...time.length do
# <Drawing data by GGraph>
for i in 0...time.length do
  if (time[i].to_i % 200) == 0 
    VarAll = var1.cut(true,true,true,time[i]) + var_base
    VarDev = VarAll.eddy(0)
    
    DCL.udpset('lmsg', false)
    GGraph.set_axes('xunit'=>'m', 'yunit'=>'m', 'xtitle'=>'')
    GGraph.tone( VarDev.cut(0..180000.0,100.0,true) )
#    GGraph.contour( VarDev.cut(0..30000.0, 100.0, true), false )
    GGraph.color_bar('vlength'=>0.5,"landscape"=>true,'tickintv'=>0)
    #end
  end
end
# <Close DCL>
DCL.grcls
