#!/bin/csh

# c-shell script to plot eof figures

# !!!!!! What should be modified !!!!!!
# HHH  : home directory
# MJO  : variable (e.g. OLR, PRCP)
# TVA  : title
# TSE  : title (season)
# TTT  : total number of time
# LVS  : contour levels 
# CIN  : contour interval
# SN1~4: sign of 1st to 4th modes (for EOF plot)
# MOR  : order of modes in plot
#  (1: 1,2,3,4  2: 2,1,3,4  3: 1,2,4,3)
# !!!!!! What should be modified !!!!!!

#enver setenv HHH /jdata4/cdl/kim/msd
 setenv HHH ~/work/programs/MJOWG/msd




 foreach var ( olr_av u850_n1 u200_n1 )

# variable
 if ( $var == 'olr_av' ) then
  setenv MJO OLR
  setenv TVA 'OLR(AVHRR)'
  setenv MOR 1
  setenv YRA 100
  setenv YIN 20
 else if ( $var == 'u850_n1' ) then
  setenv MJO U850
  setenv TVA 'U850(NCEP1)'
  setenv MOR 1
  setenv YRA 4
  setenv YIN 0.8
 else if ( $var == 'u200_n1' ) then
  setenv MJO U200
  setenv TVA 'U200(NCEP1)'
  setenv MOR 1
  setenv YRA 20
  setenv YIN 4
 endif

# contour interval
 if ( $MJO == 'OLR' ) then
  setenv LVS '-18 -16 -14 -12 -10 -8 -6 -4 -2 2 4 6 8 10 12 14 16 18'
  setenv CIN 2
 else if ( $MJO == 'PRCP' ) then
  setenv LVS '-4.5 -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5'
  setenv CIN 0.5
 else if ( $MJO == 'U850' ) then
  setenv LVS '-2.7 -2.4 -2.1 -1.8 -1.5 -1.2 -0.9 -0.6 -0.3 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7'
  setenv CIN 0.3
 else if ( $MJO == 'U200' ) then
  setenv LVS '-4.5 -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5'
  setenv CIN 0.5
 endif

 foreach sea ( sum win )

 if ( $sea == 'win' ) then
  setenv TSE 'Winter (Nov-Apr)'

  if ( $var == 'olr_av' ) then
   setenv TTT 4713
   setenv SN1 1
   setenv SN2 -1
   setenv SN3 1
   setenv SN4 1
  else if ( $var == 'u850_n1' ) then
   setenv TTT 4713
   setenv SN1 -1
   setenv SN2 1
   setenv SN3 1
   setenv SN4 1
  else if ( $var == 'u200_n1' ) then
   setenv TTT 4713
   setenv SN1 -1
   setenv SN2 -1
   setenv SN3 1
   setenv SN4 1
  endif

 else if ( $sea == 'sum' ) then
  setenv TSE 'Summer (May-Oct)'

  if ( $var == 'olr_av' ) then
   setenv TTT 4968
   setenv SN1 1
   setenv SN2 -1
   setenv SN3 1
   setenv SN4 1
  else if ( $var == 'u850_n1' ) then
   setenv TTT 4968
   setenv SN1 1
   setenv SN2 1
   setenv SN3 1
   setenv SN4 1
  else if ( $var == 'u200_n1' ) then
   setenv TTT 4968
   setenv SN1 -1
   setenv SN2 -1
   setenv SN3 1
   setenv SN4 1
  endif

 endif

# EOFs

# file copy
 cd $HHH/level_1/$var/eof/$sea
 cp -f $HHH/level_1/sample/eof/eof.gs.sample .

 sed "s#homedir#$HHH#g"                   eof.gs.sample > tmp1
 sed "s/variable/$var/g"                           tmp1 > tmp2
 sed "s/season/$sea/g"                             tmp2 > tmp1
 sed "s/title_sea/$TSE/g"                          tmp1 > tmp2
 sed "s/title_var/$TVA/g"                          tmp2 > tmp1
 sed "s/n_time/$TTT/g"                             tmp1 > tmp2
 sed "s/e1/$SN1*ev1/g"                             tmp2 > tmp1
 sed "s/e2/$SN2*ev2/g"                             tmp1 > tmp2
 sed "s/e3/$SN3*ev3/g"                             tmp2 > tmp1
 sed "s/e4/$SN4*ev4/g"                             tmp1 > tmp2
 sed "s/mode_order/$MOR/g"                         tmp2 > tmp1
 sed "s/levels/$LVS/g"                             tmp1 > tmp2
 sed "s/c_int/$CIN/g"                              tmp2 > eof.gs

grads -pbc << EOF
eof
EOF

# percentage variance
 cp -f $HHH/level_1/sample/eof/pct.gs.sample .
 sed "s/season/$sea/g"                    pct.gs.sample > tmp1
 sed "s/title_sea/$TSE/g"                          tmp1 > tmp2
 sed "s/title_var/$TVA/g"                          tmp2 > pct.gs

grads -lbc << EOF
pct
EOF

# power spectra
 cp -f $HHH/level_1/sample/eof/power.gs.sample .
 cp -f $HHH/level_1/sample/eof/power.dummy .
 cp -f $HHH/level_1/sample/eof/power.dummy.ctl .

 foreach exp ( 01 02 03 04 05 )
  sed "s/season/$sea/g"                  power.gs.sample > tmp1
  sed "s/title_sea/$TSE/g"                          tmp1 > tmp2
  sed "s/title_var/$TVA/g"                          tmp2 > tmp1
  sed "s/number/$exp/g"                             tmp1 > tmp2
  sed "s/y_ran/$YRA/g"                              tmp2 > tmp1
  sed "s/y_int/$YIN/g"                              tmp1 > power.gs

grads -lbc << EOF
power.gs pcps.ts$exp
EOF
 end

# copy gif file
 mkdir -p $HHH/level_1/fig/eof/$var
 cp -f eof.$sea.gif $HHH/level_1/fig/eof/$var/.
 cp -f pct.$sea.gif $HHH/level_1/fig/eof/$var/.
 cp -f pcps.*.$sea.gif $HHH/level_1/fig/eof/$var/.
 
 end
# foreach sea

 end 
# foreach var

