#!/usr/bin/env ruby
#
# 表題  DCPAM6 の EP フラックスのベクトル表示
#
# 履歴  2026/10/13  竹広 真一
#
require "numru/ggraph"
include NumRu

TimeCut=1000

gtURL = sprintf('U_rank*.nc@U,time=%f',TimeCut)
u = GPhys::IO.open_gturl( gtURL ).mean('lon')

gtURL = sprintf('Msf_rank*.nc@Msf,lon=0,time=%f',TimeCut)
msf = GPhys::IO.open_gturl( gtURL )

gtURL = sprintf('StrRes_rank*.nc@StrRes,lon=0,time=%f',TimeCut)
strres = GPhys::IO.open_gturl( gtURL )

gtURL = sprintf('EPLat_rank*.nc@EPLat,lon=0,time=%f',TimeCut)
v = GPhys::IO.open_gturl( gtURL )
lat_va = v.axis(0).pos
nlat = lat_va.length

sig_va = v.axis(1).pos.copy
sig_va.name=('sigm')
nsig = sig_va.length


gtURL = sprintf('EPSig_rank*.nc@EPSig,lon=0,time=%f',TimeCut)
w = GPhys::IO.open_gturl( gtURL )

ws = w.interpolate("sigm"=>sig_va)

Rplanet = 6.4e6
xyratio = PI*Rplanet
vmax = v.val.abs.max
wsmax = ws.val.abs.max

yfact = 1/(wsmax*(nsig+1))
xfact = yfact/xyratio
  
# xfact = 1/(vmax*nlat)
# yfact = xfact*xyratio
p xfact, yfact


DCL.gropn(1)
# GGraph.tone_and_contour u
GGraph.tone_and_contour msf
# GGraph.tone_and_contour strres

DCL.uglset('LNRMAL',false)
DCL.ugrset('XFACT1',xfact)
DCL.ugrset('YFACT1',yfact)
# DCL.ugrset('XFACT1',2e-13*1e-2)
# DCL.ugrset('YFACT1',1e-7*1e-2)
GGraph.vector v, -ws, false, 'flow_vect'=>false
# GGraph.vector v, ws, true, 'ux_unit'=>1e13, 'uy_unit'=>1e4, 'unit_vect'=>true, 'factor'=>5, 'flow_vect'=>false
              # , 'xintv'=> 4
DCL.grcls

