#!/bin/csh

# c-shell script to calculate daily anomaly

# !!!!!! What should be modified !!!!!!
# HHH  : home directory
# var  : name of data
# DDD  : number of days per 1 year (for models using 360 day calendar)
# BYY  : first year (e.g. 1979)
# NYR  : number of years (e.g. 27 for 1979-2005)
# NYR1 : NYR - 1
# LYR  : whether the data has leap year or not
#  (e.g. 1 : leap year, 0 : no leap year)
# LNX  : whether the machine is linux or not
#  This is for the record length problem.
#  (e.g. 4 : linux machine, 1 : other machine)
# MMM  : missing value
# PPP  : period of data
# !!!!!! 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 )

 setenv DDD 365
 setenv SSS 1
 setenv EEE 365
# current version does not condider SSS and EEE
# please use data from 01janYYYY to 31decYYYY

 setenv BYY 1979
 setenv EYY 2005
 setenv LYR 1
 setenv LNX 1
 setenv MMM -999.
 setenv PPP 19790101_20051231

@ NYR = 27
@ NYR1 = $NYR - 1

 if ( $var == 'olr_av' ) then
 setenv MJO OLR
 else if ( $var == 'u850_n1' ) then
 setenv MJO U850
 else if ( $var == 'u200_n1' ) then
 setenv MJO U200
 endif

 cd $HHH/level_1/$var

# output directory
 mkdir -p tsps

# source directory
 mkdir -p src/tsps
 cd src/tsps

 cp -f $HHH/level_1/sample/tsps/power.f.sample .
 cp -f $HHH/level_1/sample/tsps/libfftpack.a .
 cp -f $HHH/level_1/sample/tsps/makefile .

 foreach sea ( win sum )

 if ( $MJO == 'OLR' ) then

  if ( $sea == 'win' ) then
   foreach reg ( IO WP MC )

# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR1/g"            tmp2 > tmp1
 sed "s/sea_num/1/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 power
 cp power.f test.f
 rm -f power power.f power.o
####################################################
   end
  else if ( $sea == 'sum' ) then
   foreach reg ( IO WP BB )
# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR/g"             tmp2 > tmp1
 sed "s/sea_num/2/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 power
 rm -f power power.f power.o
####################################################
   end
  endif

 else if ( $MJO == 'U850' ) then

  if ( $sea == 'win' ) then

   foreach reg ( IO WP )  
# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR1/g"            tmp2 > tmp1
 sed "s/sea_num/1/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 cp power.f test2.f
 power
 rm -f power power.f power.o
####################################################
   end

  else if ( $sea == 'sum' ) then

   foreach reg ( IO WP EP )
# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR/g"             tmp2 > tmp1
 sed "s/sea_num/2/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 power
 rm -f power power.f power.o
####################################################
   end

  endif

 else if ( $MJO == 'U200' ) then

  if ( $sea == 'win' ) then

   foreach reg ( IO WP EP )
# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR1/g"            tmp2 > tmp1
 sed "s/sea_num/1/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 cp power.f test3.f
 power
 rm -f power power.f power.o
####################################################
   end

  else if ( $sea == 'sum' ) then

   foreach reg ( IO WP EP )
# ! time series power spectrum #####################
 sed "s#homedir#$HHH#g" power.f.sample > tmp1
 sed "s/mjo_var/$var/g"           tmp1 > tmp2
 sed "s/num_r/$NYR/g"             tmp2 > tmp1
 sed "s/sea_num/2/g"              tmp1 > tmp2
 sed "s/beg_year/$BYY/g"          tmp2 > tmp1
 sed "s/leap_year/$LYR/g"         tmp1 > tmp2
 sed "s/linux_recl/$LNX/g"        tmp2 > tmp1
 sed "s/in_name/$reg.$sea/g"      tmp1 > tmp2
 sed "s/missing/$MMM/g"           tmp2 > tmp1
 sed "s/num_d/$DDD/g"             tmp1 > power.f

 make
 power
 rm -f power power.f power.o
####################################################
   end

  endif

# if - MJO
  endif

# foreach - season
 end

# foreach - var
 end

