#!/usr/bin/env ruby

require "numru/gphys"
include NumRu

RPlanet  = 6050000.0
GasRDry  = 191.4
Omega    = 0.2992677e-6
PI       = 3.141592653589793115997963468544185162

uvelfilename = "venus_U.nc"
tempfilename = "venus_Temp.nc"
psfilename   = "venus_Ps.nc"
amfilename   = "venus_Am.nc"

uvel = GPhys::IO.open(uvelfilename,'U')
temp = GPhys::IO.open(tempfilename,'Temp')
ps   = GPhys::IO.open(psfilename,'Ps')
lat  = GPhys::IO.open(tempfilename,'lat')
sig  = GPhys::IO.open(tempfilename,'sig')

rho = 1.0/(GasRDry*temp)*sig*ps
coslat = (lat*PI/180).cos
pang  = Omega * RPlanet * coslat
pang.set_att('units','m s-1')

am  = rho * RPlanet * coslat * (uvel + pang)
am.rename('Am')
am.set_att('long_name','angular momentum density')
am.set_att('units','kg m-1 s-1')

#< Output to file >

amfile=NetCDF.create(amfilename)
GPhys::IO.write( amfile, am )
amfile.close


