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

filehead = "BS1998_"

adv   = GPhys::IO.open("./#{filehead}PTempAdv.nc",   'PTempAdv'  )
nDiff = GPhys::IO.open("./#{filehead}PTempNDiff.nc", 'PTempNDiff')
turb  = GPhys::IO.open("./#{filehead}PTempTurb.nc",  'PTempTurb' )
disp  = GPhys::IO.open("./#{filehead}PTempDisp.nc",  'PTempDisp' )
rad   = GPhys::IO.open("./#{filehead}PTempRad.nc",   'PTempRad'  )
sfc   = GPhys::IO.open("./#{filehead}PTempSfc.nc",   'PTempSfc'  )
dens0 = GPhys::IO.open("./#{filehead}restart.nc",   'DensBZ'  )
denscut = dens0[5..14, 0..-1, 5..104]
time  = GPhys::IO.open("./#{filehead}PTempAdv.nc", 't').val
zz  = GPhys::IO.open("./#{filehead}PTempAdv.nc", 'z').val

turb  = turb + sfc

# x-y mean

dz = 300.0
cpdry = 891.0
#=begin
adv_XYmean  = adv.average('x').average('y')
turb_XYmean = turb.average('x').average('y')
rad_XYmean  = rad.average('x').average('y')
disp_XYmean  = disp.average('x').average('y')
nDiff_XYmean  = nDiff.average('x').average('y')
#=end
#=begin
#adv = adv  * cpdry * denscut * dz
#turb = turb  * cpdry * denscut * dz

#disp = disp * cpdry * denscut * dz
#nDiff = nDiff * cpdry * denscut * dz
#adv_XYmean  = adv.average('x').average('y').convert_units('W/m2')
#turb_XYmean = turb.average('x').average('y').convert_units('W/m2')
#disp_XYmean  = disp.average('x').average('y').convert_units('W/s')
#nDiff_XYmean  = nDiff.average('x').average('y').convert_units('W/s')
#=end


#rad = rad * cpdry * denscut * dz 
#rad_int = rad
#for l in 0...time.length
#  for k in 1...zz.length
#    rad_int[0..-1,0..-1,k,l] =  rad_int[0..-1,0..-1,k-1,l] + rad[0..-1,0..-1,k,l] 
#  end
#end 


#rad_int_XYmean  = rad_int.average('x').average('y').convert_units('W/m2')



# <Open DCL>
#DCL.swlset( 'ldump', true )
DCL.gropn(2)

for i in 0...time.length do
# <Drawing data by GGraph>

if (time[i].to_i % 1000) == 0 

#comax = 3.0e2
#comin = -3.0e2
comax = 4.0e-4
comin = -4.0e-4
#=begin
  GGraph.line( adv_XYmean.cut('t'=>time[i]), \
               true, 'exchange'=>true , \
               'index'=>22, 'type'=>1, 'label'=>'adv', \
               'title'=>'PTemp tendency', \
               'max'=>comax, 'min'=>comin)    # °ÜÎ®

  GGraph.line( turb_XYmean.cut('t'=>time[i]), \
               false, 'exchange'=>true , \
                'index'=>32, 'type'=>1, 'label'=>'turb', \
               'max'=>comax, 'min'=>comin)    # ÍðÎ®³È»¶

  GGraph.line( disp_XYmean.cut('t'=>time[i]), \
               false, 'exchange'=>true , \
                'index'=>52, 'type'=>1, 'label'=>'disp', \
               'max'=>comax, 'min'=>comin)    # ÍðÎ®³È»¶

  GGraph.line( nDiff_XYmean.cut('t'=>time[i]), \
               false, 'exchange'=>true , \
                'index'=>62, 'type'=>1, 'label'=>'ndiff', \
               'max'=>comax, 'min'=>comin)    # ÍðÎ®³È»¶

#=end
#  GGraph.line( - rad_int_XYmean.cut('t'=>time[i]), \
  GGraph.line( rad_XYmean.cut('t'=>time[i]), \
               false, 'exchange'=>true , \
               'index'=>42, 'type'=>1, 'label'=>'rad', \
               'max'=>comax, 'min'=>comin)    # Êü¼Í²ÃÇ®

end
end
# <Close DCL>
DCL.grcls
