#!/usr/bin/env ruby
# coding: utf-8
#
# 表題  ダイナモベンチマーク Case0 用描画スクリプト
#
# 履歴  2024/04/25  竹広 真一
#
require "numru/ggraph"
include NumRu

#---------------------------- 引数解析 ----------------------------
Files = ARGV[0]
File0  = Files.sub(/-ip[0-9*]+/,"-ip0000")

if ARGV[1] == nil then
  Output=""
else
  Output=ARGV[1]
end

#---------------------------- 読み込み ----------------------------
gtURL=File0+'@ek'
ek = GPhys::IO.open_gturl(gtURL)

gtURL=Files+'@temp'
temp = GPhys::IO.open_gturl(gtURL)

gtURL=Files+'@vlon'
vlon = GPhys::IO.open_gturl(gtURL)

gtURL=Files+'@vrad'
vrad = GPhys::IO.open_gturl(gtURL)

lon  = temp.coord(0)
lat  = temp.coord(1)
rad  = temp.coord(2)
time = temp.coord(3)

#------------------------------ 描画 ------------------------------
# DCL.sglset('LCLIP',true)
DCL.sglset('LLNINT',true)

if ( Output == "pdf" ) then
  DCL.gropn(2)
elsif ( Output == "png" ) then
  DCL.swlset('LDUMP',true)
  DCL.gropn(1)
else
  DCL.gropn(1)
end

Ro = rad.max.val ; Ri = rad.min.val
Tcut = time.val[-1] ; LatCut=0.0 ; RadCut = (Ro+Ri)/2

# 運動エネルギー時間変化
GGraph.line ek

# 赤道断面(温度)
GGraph.set_fig('itr'=>5)
GGraph.tone_and_contour temp.cut('lat'=>LatCut,'t'=>Tcut),true, 'exchange'=>true,'auto'=>false,'tonec'=>true
GGraph.color_bar

# 赤道断面(動径速度)
DCL.sgscmn(67)
GGraph.tone_and_contour vrad.cut('lat'=>LatCut,'t'=>Tcut),true, 'exchange'=>true,'auto'=>false,'tonec'=>true
GGraph.color_bar

# 球殻外側表面(経度速度)
GGraph.set_fig('itr'=>30)
GGraph.set_fig('map_axis'=>[0.0,30.0,0.0])
GGraph.tone_and_contour vlon.cut('rad'=>RadCut,'t'=>Tcut)
GGraph.color_bar

DCL.grcls

COMMONEXPNAME='bsnsq_bench'
TcutS = sprintf("%d",Tcut)

if ( Output == "png" ) then
  system("pngtopnm dcl_0001.png | pnmcrop | pnmtopng > "+COMMONEXPNAME+'_ek.png')
  system("pngtopnm dcl_0002.png | pnmcrop | pnmtopng > "+COMMONEXPNAME+'_temp-eqr_t'+TcutS+'.png')
  system("pngtopnm dcl_0003.png | pnmcrop | pnmtopng > "+COMMONEXPNAME+'_vrad-eqr_t'+TcutS+'.png')
  system("pngtopnm dcl_0004.png | pnmcrop | pnmtopng > "+COMMONEXPNAME+'_vlon-mid_t'+TcutS+'.png')
  system('rm dcl_*.png')
elsif ( Output == "pdf" ) then
  system("pdf270 dcl_cropped.pdf 1 -o "+COMMONEXPNAME+'_ek.png')
  system("pdf270 dcl_cropped.pdf 2 -o "+COMMONEXPNAME+'_temp-eqr_t'+TcutS+'.png')
  system("pdf270 dcl_cropped.pdf 3 -o "+COMMONEXPNAME+'_vrad-eqr_t'+TcutS+'.png')
  system("pdf270 dcl_cropped.pdf 4 -o "+COMMONEXPNAME+'_vlon-mid_t'+TcutS+'.png')
  system('rm dcl*.pdf')
end
