#!/bin/sh
############################################################
#
# script:  cfs_delfile.sh
# purpose: to keep 12-hourly files only up to 45 days 
#  $1 ... file name prefix [pgb/flx/fcstout/...]
#  $2 ... starting forecast hour
#  $3 ... ending forecast hour
#  $4 ... forecast hour interval
#  $5 ... file directory
#  $DAY_TO_KEEP is defined in the config script (=45 days)
#  $HOUR_TO_KEEP is defined in the config script(=1080 hr)

set -x
if [ $# -ne 5 ] ; then
	$DATA/err_exit "`date` $0: argument error"
fi
file=$1
start_forecast_hour=$2
end_forecast_hour=$3
dir=$4
tot_err=$5

start_date=$YMDH
rm -rf keeplist
tot_err=0
fh=$start_forecast_hour

case $file in
  csst)     HOUR_TO_KEEP=$end_forecast_hour
            incr=24 ;;
  extvars)  HOUR_TO_KEEP=$end_forecast_hour
	    incr=12 ;;
  flx)      HOUR_TO_KEEP=$HOUR_TO_KEEP
	    incr=12 ;;
  pgb)      HOUR_TO_KEEP=$HOUR_TO_KEEP
	    incr=12 ;;
  ocn)      HOUR_TO_KEEP=$HOUR_TO_KEEP
	    incr=24 ;;
  sig)      HOUR_TO_KEEP=72
	    incr=12 ;;
esac

while [ $fh -le $HOUR_TO_KEEP ]
do
  fday=$($NDATE $fh $start_date)
  if [ $file = extvars ]
  then
      fileh=${file}f${fh}
      filey=${file}f$fday
      ln -fs $dir/$fileh $dir/$filey  
  elif [ $file = ocn ]
  then
      filey=${file}_daily${fday}
  else
      filey=${file}f$fday
  fi 
  echo $dir/$filey >>keeplist
  fh=`expr $fh + $incr`
done

cat keeplist |
while read file
do
  cp $file $COM_DG/.
  err=$?
  tot_err=`expr $tot_err + $err`
done

