#!/bin/sh
################################################################3
#
#  This script will tar up all the data for a given day for
#  the directory specified by the first
#  argument ($1) and place the tar files on the HPSS server,
#  under ${HPSSOUT}.  The tar file is put in the directory
#  appropriate for data valid for the day specified as the second 
#  command line argument ($2).
#
#  This script breaks up the radar level II directory into daily 
#  tar files.
#
#  Usage: rhist_saveradar.sh Directory Date(YYYYMMDDHH format)
#
#  Where: Directory  = Directory to be tarred.
#         Date(YYYYMMDDHH format) = Day that the tar file should be saved under.
#
################################################################3
set -x

if [ $# -ne 2 ]
then
  echo "Usage: rhist_saveradar.sh Directory Date(YYYYMMDDHH format) "
  exit 1
fi 

#
#   Get directory to be tarred from the first command line argument,
#   and check to make sure that the directory exists.
#

dir=$1
if [ ! -d $dir ]
then
  echo "rhist_saveradar.sh:  Directory $dir does not exist."
  exit 2
fi 

#
#   Determine the directory where the tar file will be stored
#   and make sure that it exists in HPSS.
#

date=$2
year=`echo $2 | cut -c 1-4`
yearmo=`echo $2 | cut -c 1-6`
yrmoday=`echo $2 | cut -c 1-8`
rhcyc=`echo $2 | cut -c 9-10`
rhcycle=t${rhcyc}z

if [ $TSM_FLAG = 'NO' ]
then
  hpssdir0=${HPSSOUT}/rh${year}/${yearmo}/$yrmoday
  hpssdir1=${HPSSOUT}/1year/rh${year}/${yearmo}/$yrmoday
  hpssdir2=${HPSSOUT}/2year/rh${year}/${yearmo}/$yrmoday
                                                                                                   
elif [ $TSM_FLAG = 'YES' ]
then
  rhistdir0=${TSMOUT}/rh${year}/${yearmo}/$yrmoday
  rhistdir1=${TSMOUT}/1year/rh${year}/${yearmo}/$yrmoday
  rhistdir2=${TSMOUT}/2year/rh${year}/${yearmo}/$yrmoday
                                                                                                   
  ssh ibmtsm1.ncep.noaa.gov "mkdir -p -m 755 $rhistdir0; mkdir -p -m 755 $rhistdir1; mkdir -p -m 755 $rhistdir2"
fi

#
#   Get a listing of all files in the directory to be tarred
# 

cd $DATA
for station in KABR  KATX  KBOX  KCCX  KDDC  KDTX  KESX  KFSD  KGRB  KHGX  KIND  KLBB  KLSX \
               KMHX  KMSX  KOHX  KPUX  KSGF  KTLH  KVTX  TJUA  KABX  KBBX  KBRO  KCLE  KDFX \
               KDVN  KEVX  KFSX  KGRK  KHNX  KINX  KLCH  KLTX  KMKX  KMTX  KOKX  KRAX  KSHV \
               KTLX  KVWX  KAKQ  KBGM  KBUF  KCLX  KDGX  KDYX  KEWX  KFTG  KGRR  KHTX  KIWA \
               KLGX  KLVX  KMLB  KMUX  KOTX  KRGX  KSJT  KTWX  KYUX  KAMA  KBHX  KBYX  KCRP \
               KDIX  KEAX  KFCX  KFWS  KGSP  KICT  KIWX  KLIX  KLWX  KMOB  KMVX  KOUN  KRIW \
               KSOX  KTYX  PHKI  KAMX  KBIS  KCAE  KCXX  KDLH  KEMX  KFDR  KGGW  KGWX  KICX \
               KJAX  KLNX  KLZK  KMPX  KNKX  KPAH  KRLX  KSRX  KUDX  PHKM  KAPX  KBLX  KCBW \
               KCYS  KDMX  KENX  KFDX  KGJX  KGYX  KILN  KJGX  KLOT  KMAF  KMQT  KNQA  KPBZ \
               KRTX  KTBW  KUEX  PHMO  KARX  KBMX  KCBX  KDAX  KDOX  KEPZ  KFFC  KGLD  KHDX \
               KILX  KJKL  KLRX  KMAX  KMRX  KOAX  KPDT  KSFX  KTFX  KVNX  PHWA
do
      ls -1 $dir/${station}/????_${date}_??????.bz2 >>radar.list
done

# Archive to permanent archive 

hpssdir=$hpssdir0
rhistdir=$rhistdir0

   #
   #   Generate the name of the tarfile, which should be the same
   #   as the absolute path name of the directory being
   #   tarred, except that "/" are replaced with "_".
   #

   tarfile=nexrad_level2
   tarfile=${tarfile}_${date}.tar

   #
   #   Check if the tarfile index exists.  If it does, assume that
   #   the data for the corresponding directory has already been
   #   tarred and saved.
   #

   if [ $TSM_FLAG = 'NO' ]
   then
     hsi "ls -l ${hpssdir}/${tarfile}.idx"
     tar_file_exists=$?
     if [ $tar_file_exists -eq 0 ]
     then
       echo "File  $tarfile already saved."
       continue
     fi
   elif [ $TSM_FLAG = 'YES' ]
   then
     size=`ssh ibmtsm1.ncep.noaa.gov ls -l ${rhistdir}/${tarfile} | awk '{print \$5}'`
     if [  -n "$size" ]
     then
       if [ $size -gt 0 ]
       then
          echo "File  $tarfile already saved."
          continue
       fi
     fi
   fi

   #
   #   htar is used to create the archive, -P creates
   #   the directory path if it does not already exist,
   #   and an index file is also made.
   #

   if [ $TSM_FLAG = 'NO' ]
   then
     date
     htar -P -cvf ${hpssdir}/$tarfile -L ${DATA}/radar.list
     err=$?
     if [ $err -ne 0 ]
     then
       echo "rhist_saveradar.sh:  File $tarfile was not successfully created."
       exit 3
     fi
     date
 
   #
   #   Read the tarfile and save a list of files that are in the tar file.
   #
 
     htar -tvf $hpssdir/$tarfile
     err=$?
     if [ $err -ne 0 ]
     then
       echo "rhist_saveradar.sh:  Tar file $tarfile was not successfully read to"
       echo "             generate a list of the files."
       exit 4
     fi
 
   #
   #  Restrict tar file, if it contains restricted data.
   #
     ${USHrhist}/rhist_restrict.sh ${hpssdir}/$tarfile
 
   #
   #  If on Cirrus send to HSM
   #
   elif [ $TSM_FLAG = 'YES' ]
   then

   #
   #   Tar up the directory and put the tarred file in the 
   #   appropriate directory in ${TSMOUT}.
   #  
   
     date
     gtar -cvf ${DATA}/$tarfile -T ${DATA}/$file
     err=$?
     if [ $err -ne 0 ]
     then
       echo "rhist_saveradar.sh:  File $tarfile was not successfully created."
       exit 3
     fi 
     date
     $SCP $SCP_CONFIG ${DATA}/${tarfile} ibmtsm1.ncep.noaa.gov:${rhistdir}/${tarfile}

   fi   
rm ${DATA}/radar.list
   

exit 0
