#!/usr/bin/ruby

header    = "HS94_T21L20_TempIni300_SX6_"
ncdir     = ".."
outputdir = "."

VIEWER = "/usr/bin/gpview"
PSOUT  = "--wsn 2"
MV     = "mv"
DCLPS  = "dcl.ps"
CONV   = "convert"
CONVOPT= "-rotate 90"

daymeanurl = ["result_temp.nc@temp", "result_vlat.nc@vlat", 
              "result_vlon.nc@vlon", "result_vsigmahalf.nc@vsigmahalf"]


sigma0_2    = ["result_vlon.nc@vlon"]
scalar      = ["result_tm.nc@tm"]

filename_hash = {"div"  => "Div"   , "ps"     => "Ps", 
                 "temp" => "Temp"  , "t"      => "Temp",
                 "vlat" => "VelLat", "vellat" => "VelLat", "v" => "VelLat", 
                 "vlon" => "VelLon", "vellon" => "VelLon", "u" => "VelLon", 
                 "vor"  => "Vor"   , "zeta"   => "Vor",
                 "tm"   => "TotalMass",
                 "vsigmahalf" => "VelSigma"}


print_flag = true
view_flag  = false
img_flag   = false

if (ARGV.size > 1) then
  img_flag = true
elsif (ARGV.size > 0) then
  view_flag = true
end


daymeanurl.each{ |url|
#  case url 
#  when "div"
#    filename = Div
#  when "ps"
#    filename = Ps
#  when "temp", "t"
#    filename = Temp
#  when "vlat", "vellat", "v"
#    filename = VelLat
#  when "vlot", "vellon", "u"
#    filename = VelLon
#  when "vlot", "vellon", "u"
#    filename = VelLon
#  when "vor", "zeta"
#    filename = Vor
#  else
#    filename = url.upcase
#  end
  
  attr   = "time=17280000:103680000"
  opts   = "--mean lon,time"
  opts   << " --interval 4 --range -28:32" if url.split("@")[1] == "vlon"
  footer = "_DayMean200-1200_LonMean"

  var     = url.split("@")[1]
  cmdview = "#{VIEWER} #{ncdir}/#{url},#{attr} #{opts}"
  cmdps   = "#{cmdview} #{PSOUT}"
  output  = "#{outputdir}/#{header}#{filename_hash[var]}#{footer}"
  cmdmv   = "#{MV} #{DCLPS} #{output}.ps"
  cmdconv = "#{CONV} #{CONVOPT} #{output}.ps #{output}.png"

  if view_flag 
    print "#{cmdview}\n" 
    system "#{cmdview}"
  elsif img_flag
    print "#{cmdps}\n"
    system "#{cmdps}"
    
    print "#{cmdmv}\n"
    system "#{cmdmv}"

    print "#{cmdconv}\n"
    system "#{cmdconv}"
  elsif print_flag
    print "#{cmdview}\n" 
    print "#{cmdps}\n"
    print "#{cmdmv}\n"
    print "#{cmdconv}\n\n"
  end
}

sigma0_2.each{ |url|
  attr   = "time=0:103680000,sigma=0.2"
  opts   = "--mean lon --nocont"
  footer = "_Day0-1200_LonMean_Sigma0.2"

  var     = url.split("@")[1]
  cmdview = "#{VIEWER} #{ncdir}/#{url},#{attr} #{opts}"
  cmdps   = "#{cmdview} #{PSOUT}"
  output  = "#{outputdir}/#{header}#{filename_hash[var]}#{footer}"
  cmdmv   = "#{MV} #{DCLPS} #{output}.ps"
  cmdconv = "#{CONV} #{CONVOPT} #{output}.ps #{output}.png"

  if view_flag 
    print "#{cmdview}\n" 
    system "#{cmdview}"
  elsif img_flag
    print "#{cmdps}\n"
    system "#{cmdps}"
    
    print "#{cmdmv}\n"
    system "#{cmdmv}"

    print "#{cmdconv}\n"
    system "#{cmdconv}"
  elsif print_flag
    print "#{cmdview}\n" 
    print "#{cmdps}\n"
    print "#{cmdmv}\n"
    print "#{cmdconv}\n"
  end  
}

scalar.each{ |url|
  attr   = "time=0:103680000"
  opts   = "--range 128228.15:128228.35"
  footer = "_Day0-1200"

  var     = url.split("@")[1]
  cmdview = "#{VIEWER} #{ncdir}/#{url},#{attr} #{opts}"
  cmdps   = "#{cmdview} #{PSOUT}"
  output  = "#{outputdir}/#{header}#{filename_hash[var]}#{footer}"
  cmdmv   = "#{MV} #{DCLPS} #{output}.ps"
  cmdconv = "#{CONV} #{CONVOPT} #{output}.ps #{output}.png"

  if view_flag 
    print "#{cmdview}\n" 
    system "#{cmdview}"
  elsif img_flag
    print "#{cmdps}\n"
    system "#{cmdps}"
    
    print "#{cmdmv}\n"
    system "#{cmdmv}"

    print "#{cmdconv}\n"
    system "#{cmdconv}"
  elsif print_flag
    print "#{cmdview}\n" 
    print "#{cmdps}\n"
    print "#{cmdmv}\n"
    print "#{cmdconv}\n"
  end  
}
