#!/usr/bin/env ruby

=begin

表題: AGCM5 NetCDF 作成ツール

履歴: 2004/04/18 yukiko@ep.sci.hokudai.ac.jp

=end

# 設定 =========================================================
# local load path
$local_path = '/home/yukiko/work/ape/yukiko/lib'
$: << $local_path


# 必要なライブラリ, モジュールの読み込み
require "lib-ape-base.rb"


# main() =======================================================

END{

#  set_opt

#  print "$expid = #{$expid}, $cum = #{$cum}, $num = #{$num} \n"


  $resol = "T159L48_eml"
#  sstid = ["control","flat","peaked","1keq","3keq","3kw1","Qobs","control-5N" ]
#  sstid = ["control","flat","peaked","1keq","3keq","3kw1","Qobs","control-5N" ]
  $sstid = "control-5N"
#    set_directry
#    mknc_stspctrum


  ncfile_tr_marge
  print "TR NetCDF marge end\n"


}

# 設定 ========================================================

def set_opt

  $cum = "adj"
  $expid = 1

  # 実行オプション解析 
  $cum = "kuo"                             if ARGV.index("-kuo") 
  $cum = "kuo-nosc"                        if ARGV.index("-kuo-nosc") 
  $expid = ARGV[ARGV.index("-exp")+1]      if ARGV.index("-exp") 

  if $expid == "flat3keq" ||$expid == "Qobs3keq" || $expid =~ /H1998/ || $expid =~ /HS1986/
    expID = $expid
    $sst  = $expid
  else 
    expID = "expID0#{$expid}"
    id = ["control","peaked","flat","Qobs","control-5N","1keq","3keq","3kw1"]
    $sst = id[$expid.to_i - 1]
  end

  $num = 0
  $num = ARGV[ARGV.index("-num")+1]      if ARGV.index("-num") 
  $num = $num.to_i

#  $ncdir = "/work11/ape/NetCDF/AGCM5_#{$cum}/"
  $ncdir = "./."
  $ncfile_head = "AGCM5-#{$cum}-07a"
  $gt3dir = "/home/yukiko/mphys/ape/#{$cum}_#{expID}"
#  $gt3dir = "/work11/ape/GTOOL3/#{$cum}_#{expID}"
#  $gt3dir = "/work11/ape/GTOOL3/AGCM5-#{$cum}_#{expID}"
#  $gt3dir = "/work11/ape/GTOOL3/AGCM5-#{$cum}_add_#{expID}"
  puts $gt3dir

end


# sub() ========================================================
def ncfile_tr_marge

  print "  nc create start\n"
  f=NetCDF.create("./#{$resol}_#{$sstid}_wk_40smooth.nc")
  
  ["./#{$resol}_#{$sstid}_wk_40smooth_01.nc",
    "./#{$resol}_#{$sstid}_wk_40smooth_02.nc",
    "./#{$resol}_#{$sstid}_wk_40smooth_03.nc"].each{ |moto|
    
    puts moto
    
    $t = Ape.new(moto)

    $t.netcdf_open.var_names.each { |name| 
      if name =~ /tr_/
        puts name
        gphys = $t.gphys_open(name)
        
        # netCDF 初期化
        GPhys::NetCDF_IO.write(f, gphys )
      
      end
      } 

    }

  # 大域属性
  f.put_att("Conventions", "CF-1.0")
  f.put_att("title","Aqua Planet: #{$resol}_#{$sstid} Experiment, Wheeler and Kiladis, 1999 Plot")
  f.put_att("history", "Original data produced: #{Time.now} from TR netCDF by Yukiko YAMADA (AGU for APE)")
  f.put_att("institution", "#{$resol}")
  f.close



  
end

