#
# u2d2.rb

require "narray"
require "numru/advanceddcl"

include NumRu::AdvancedDCL
include NMath

nt = 51
nz = 21
tmin = 0.0
tmax = 5.0
zmin = 20.0
zmax = 50.0
dt = (tmax-tmin)/(nt-1)
dz = (zmax-zmin)/(nz-1)

u = NArray.sfloat(nt, nz)

#-- data ----
for j in 0..nz-1
  zj = j*dz
  uz = exp(-0.2*zj)*(zj**0.5)
  for i in 0..nt-1
    ti = i*dt-2.0*exp(-0.1*zj)
    u[i,j] = uz*sin(3.0*ti)
  end
end

#-- graph ----
Dev.open
Tone.lsoftf = true
Frame.new

Fig.window = [tmin, tmax, zmin, zmax]
Fig.viewport = [0.2, 0.9, 0.4, 0.8]

Axis.title('TIME', 'YEAR', 'HEIGHT', 'km')
Axis.draw

Contour.draw(u)
Tone.draw(u)

Dev.close

