#!/usr/bin/env ruby

=begin

表題: AGUforAPE NetCDF submitted PCMDI のお絵描き

履歴: 2004/02/13 yukiko@ep.sci.hokudai.ac.jp

irb_command: load "~/tmp/ape-data/lib/ape-view.rb"
irbrc: ~/.irbrc

=end

# SST id

sstid = ["control","flat","peaked","1keq","3keq","3kw1","Qobs","control-5N"]
$expID = sstid[4]

groupid = ["aguforape","agcm5_adj","agcm5_kuo","agcm5_kuo-nosc"]
$cumulus = "eml"

set_dir_id  = groupid[1]

 host = "eva01"
# host = "asa"


# ----------------------------------------------
# dir set

def set_dir(set_dir_id, host="eva01")

  if host == "asa" then

    if set_dir_id == "aguforape" then 
      $rezol = "T39L48_#{$cumulus}"
      $groupid = "AGUforAPE-03a"
      $grfile_path = "/home/yukiko/tmp/ape-data/GrADS/#{$rezol}_expID01/"
      $gr2ncfile_path = "/home/yukiko/tmp/ape-data/yukiko/#{$rezol}_expID01/"
    elsif set_dir_id == "agcm5" then 
      $rezol = "AGCM5_adj"
      $groupid = "AGCM5_adj"
      $grfile_path = ""
      $gr2ncfile_path = ""
    end

    $fig_path = "/home/yukiko/tmp/ape-data/figs/tmp/"
    $ncfile_path = "/home/yukiko/tmp/ape-data/NetCDF/#{$rezol}/"
#    $ncfile_path = "/mnt/yukiko/netCDF/#{$rezol}/"
    
  elsif host == "eva01" then

    if set_dir_id == "aguforape" then 
#      $rezol = "T39L48_#{$cumulus}"
      $groupid = "AGUforAPE-03a"
      $grfile_path = "/home/yukiko/tmp/ape-data/GrADS/#{$rezol}_expID01/"
      $gr2ncfile_path = "/work11/ape/yukiko/data/#{$rezol}_expID01/"
    elsif set_dir_id == "agcm5_adj" then 
      $rezol = "AGCM5_adj"
      $groupid = "AGCM5-adj"
      $grfile_path = ""
      $gr2ncfile_path = ""
    elsif set_dir_id == "agcm5_kuo" then 
      $rezol = "AGCM5_kuo"
      $groupid = "AGCM5-kuo"
      $grfile_path = ""
      $gr2ncfile_path = ""
    elsif set_dir_id == "agcm5_kuo-nosc" then 
      $rezol = "AGCM5_kuo-nosc"
      $groupid = "AGCM5-kuo-nosc"
      $grfile_path = ""
      $gr2ncfile_path = ""
    end

    $fig_path = "/work11/ape/yukiko/figs/tmp/"
    $ncfile_path = "/work11/ape/NetCDF/#{$rezol}/"

  end

  $file_label = "#{$rezol}_#{$expID}"

end

# ----------------------------------------------

set_dir(set_dir_id,host)

# ----------------------------------------------
# local load path

# $local_path = '/home/yukiko/tmp/ape-data/lib' if host == "asa"
# $local_path = '/work11/ape/yukiko/lib'        if host == "eva01"
# $: << $local_path

# ----------------------------------------------
# 必要なライブラリ, モジュールの読み込み

load "fluidsoc-lib-ape-base.rb"
load "fluidsoc-lib-ape-view.rb"
# require "/usr/lib/ruby/1.6/irb/completion.rb" # tab で関数補完

# ----------------------------------------------
# irb 用ローカルメソッド (そもそもローカルだけど)
# ややこしくなるから irb でのみ使用すること 


# 読み込み時のメッセージ
def init_put

  print  <<EOF 

  ==========================================================
   Hello!! APE (Aqua-Planet experiment project) mapping irb
   Copyright: AGU for APE 2004 (YAMADA Yukiko)
  ---------------------------------------------------------

   * load file   : #{$local_path}/ape-view.rb
   * command help: ape_help 

  ==========================================================

EOF

end

# コマンドヘルプ
def ape_help(num=0)
  if num==1
    Ape.help
  elsif num==2
    Ape_mkfig.help
  else
    print  <<EOF 

  ==========================================================
   irb 用基本コマンド
  ---------------------------------------------------------
   * ape_help(num=0)  : help 出力 
      * num=0 : このヘルプメッセージ 
      * num=1 : class Ape のコマンド (lib-ape-view.rb) 
      * num=2 : class Ape_mkfig のコマンド (ape-view.rb) 
   * ape_source       : ape-view.rb の再読み込み
   * ape_set          : 読み込む ncfile 等の設定表示
   * ape_ls           : \"ls ./\" 出力. $nc に ncfile 名を代入.  
   * ape_new(file="#{$ncfile_path}AGUforAPE-03a_GT_#{$expID}.nc")
     : class Ape の初期化. file は指定しないと ape_set 値を適当に読む(未実装)  
   * ape_mkfig_new(num=1) : class Ape_mkfig の初期化. num は出力先 
      * num=1 : X
      * num=2 : ps
      * num=3 : gif (dump して生成)
  ==========================================================

EOF
  end

end

# 読み込みファイル等の確認
def ape_set
  print  <<EOF

  ==========================================================
   実験ID     : $expID       = #{$expID}
   積雲       : $cumulus     = #{$cumulus}
   解像度     : $rezol       = #{$rezol}
   ラベル     : $file_label  = #{$file_label}
   ncfile格納 : $ncfile_path = #{$ncfile_path}
   gif,ps格納 : $fig_path    = #{$fig_path}
  ==========================================================

EOF
end


# ライブラリのロード (irb 立ち上げ時に一度読み込まれてる)
def ape_source
  load "#{$local_path}/ape-view.rb"
end

# $nc[Array] に nc ファイル名代入
def ape_ls
  Ape.file_name_get
end

# ape 基本クラス初期化
def ape_new(file="#{$ncfile_path}AGUforAPE-03a_GT_#{$expID}.nc")
  Ape.new(file)
end

# ape 応用クラス初期化
def ape_mkfig_new(num=1)
  Ape_mkfig.new(num)
end

# 素直に ncdump -h
def ape_ncdump(file)
  Ape.ncdump(file)
end

# Ape メソッドエイリアス
class Ape
  def p(name) 
    gphys = gphys_open(name)
    plot(gphys)
  end
  alias go gphys_open
  alias no netcdf_open
  alias l var_list
end

# ape 
alias help ape_help
# alias source ape_source
alias ls ape_ls

init_put

def work

test = ape_mkfig_new(3)
test.nc_sst
test.nc_sst

end
