require "numru/ggraph"
include NumRu

### ARGV[0] は引数をもってくるときつかう
time  = ARGV[0].to_i

#time = 1200

### 範囲指定
x1 = 10000
x2 = 30000
#x2 = 500 * 1000 - 500 * 10
z1 = 0
z2 = 20000
#ymid = 10000

files = "thermal1_H2O-l-Cloud.nc"
gphys  = GPhys::IO.open(files, 'H2O-l-Cloud')

#DCL.gropn(1)
DCL.gropn(2)
#DCL.sldiv('y',1,2)           # 複数枚のときにいる( 'y方向に'1x2') で分割
DCL.sgpset('lfull',true)
DCL.sgpset('lcntl', false)
#DCL.sgpset('lclip', true)
DCL.uzfact(0.6)
GGraph.set_fig( 'viewport'=>[0.3, 0.6, 0.2, 0.5] )
#xmin,xmax,ymin,ymax
#-- axis じゃないとだめ. coord では to_gphys が通らない
xax = gphys.axis(0)
zax = gphys.axis(2)

#p xax
#p zax

xax = xax.to_gphys.cut('x'=>x1..x2)
zax = zax.to_gphys.cut('z'=>z1..z2)

gphys = gphys.cut( 'x'=>x1..x2 )
gphys = gphys.cut( 'z'=>z1..z2 )

### 時間でカット
gphysdisp0 = gphys.cut( 't'=>time )
gphysdisp0 = gphysdisp0.mean( 'y' )
### yで平均
#gphysdisp0 = gphysdisp0.cut( 'y'=>ymid )

#gphysdispt = gphysdisp0

### x平均からの差分を出すとき
#gphysdisp0 = gphysdisp0 - gphysdisp0.mean( 'x' )

#gphysdisp0.long_name = 'H2O-l-Cloud Mixing Ratio'

#gphysdisp = gphysdispt.mean( 'x' )
#gphysdisp = gphysdispd.mean( 'x' )
#gphysdisp.long_name = ''

###四枚かく場合
#GGraph.next_fig( 'viewport'=>[0.1,0.2,vpy1,vpy2], 'window'=>[280,450,z1,z2] )
#GGraph.next_fig( 'viewport'=>[0.1,0.2,vpy1,vpy2], 'window'=>[-1e-3,1e-3,z1,z2] )
###線でかくとき
#GGraph.line( gphysdisp, true, 'exchange'=>true, 'annotate'=>false, 'title'=>'' )

#gphysdisp = gphysdispd.mean( 'x' )
#gphysdisp.long_name = ''
#GGraph.line( gphysdisp, false, 'exchange'=>true, 'annotate'=>false, 'title'=>'', 'type'=>2 )

gphysdisp = gphysdisp0
GGraph.fig( xax, zax, 'new_frame'=>true ) 
## new_frame fales の場合 'viewport'=>[0.25,0.9,vpy1,vpy2], 'window'=>[x1,x2,z1,z2] )
GGraph.tone( gphysdisp, false, 
#-- 雲がたくさんできるとき
      'lev'=>[0,  1e-4, 2e-4, 3e-4, 4e-4, 5e-4, 6e-4, 7e-4, 8e-4, 9e-4, 1e-3, 1.5e-3, 2e-3, 3e-3,3.6e-3],
#-- 雲があんまりできないとき
#      'lev'=>[0,   1e-5, 2e-5, 3e-5, 4e-5,5e-5, 6e-5, 7e-5, 8e-5, 9e-5, 1e-4, 1.1e-4],
 # レベル&パターンを陽に指定
             'pat'=>[ 15999,18999,20999,30999,35999,45999,65999,70999,75999,77999,80999,85999,90999,95999,99999]
)

GGraph.axes( xax, zax )
GGraph.title( gphysdisp.long_name )
GGraph.color_bar ( 'vlength'=>0.24, 'inffact'=>0.5 )

GGraph.annotate ( [ time.to_s + ' s' ] )

DCL.grcls