#!/bin/sh
#
#  Saves decoder/dbnet/ldm/etc... data from cirrus/stratus.
#  
#  The files saved are mounted on /iodprod on nodes 
#  140.90.226.205 (cirrus) and 192.58.3.205 (stratus).
#
#
set -x

rstprodgid=245
machine=${machine:-$(hostname)}
export HPSS_HOSTNAME=`hostname -s`p
export SUBMIT_HOST=`echo $HPSS_HOSTNAME | cut -c 1`
export HPSS_PFTPC_PORT_RANGE=ncacn_ip_tcp[38000-38999]
export HPSS_NDCG_SERVERS=10.198.22.5/8001

#  Default is NO: output to HPSS. YES: output to TSM
export TSM_FLAG=NO
export HPSSOUT=/NCEPPROD/hpssprod/runhistory
export TSMOUT=/hsmprod/runhistory

####################################
# Export variable for TSM write
####################################
export SCP=/opt/freeware/bin/scp
export SCP_CONFIG='-oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_
config'

#
#  Determine HPSS Directory and make sure it exists
#
year=`echo $PDYm1 | cut -c 1-4`
yearmo=`echo $PDYm1 | cut -c 1-6`

# create directories to store archive in HPSS

if [ $TSM_FLAG = 'NO' ] ; then
   hpssdir0=${HPSSOUT}/rh${year}/${yearmo}/$PDYm1
   hpssdir1=${HPSSOUT}/1year/rh${year}/${yearmo}/$PDYm1
   hpssdir2=${HPSSOUT}/2year/rh${year}/${yearmo}/$PDYm1
   hsi mkdir -p -m 755 $hpssdir0
   hsi mkdir -p -m 755 $hpssdir1
   hsi mkdir -p -m 755 $hpssdir2
   hpssdir=$hpssdir0

elif [ $TSM_FLAG = 'YES' ] ; then
     rhistdir0=${TSMOUT}/rh${year}/${yearmo}/$PDYm1
     rhistdir1=${TSMOUT}/1year/rh${year}/${yearmo}/$PDYm1
     rhistdir2=${TSMOUT}/2year/rh${year}/${yearmo}/$PDYm1
     ssh ibmtsm1.ncep.noaa.gov "mkdir -p -m 755 $rhistdir0; mkdir -p -m 755 $rhistdir1; mkdir -p -m 755 $rhistdir2"
     rhistdir=$rhistdir0
fi

err=$?

err_check=$err

#
#   SAVE files from /dcom/us007003/decoder_logs/
#
cd /dcom/us007003/decoder_logs
ls -1 *.log.1 > ${DATA}/dcdlist
find data -name "*${PDYm1}*" >> ${DATA}/dcdlist
tar -cvf ${DATA}/dcdprod.${machine}.${PDYm1}.tar `cat ${DATA}/dcdlist`
rm ${DATA}/dcdlist

#
#   SAVE files from /iodprod/dbnet/ldm
#
cd /iodprod/dbnet/ldm
ls -1 | grep -v data | grep -v logs > ${DATA}/ldmlist
find logs/ -name 'ldmd.log*' -mtime -1 >> ${DATA}/ldmlist
tar cvf ${DATA}/ldmprod.${machine}.${PDYm1}.tar `cat ${DATA}/ldmlist`
rm ${DATA}/ldmlist

#
#   SAVE files from /dcom/us007003/ldmdata/obs/*/*/*${PDYm1}*
#   
#   Since the /dcom/.../surface/mesonet directory contains so many
#   files it is created by a separate tar command
#

cd /dcom/us007003/ldmdata/obs
find . -name "*${PDYm1}*" | grep -v nexrad_level2 > ${DATA}/ldmdatalist

if [ $TSM_FLAG = 'NO' ] ; then

   # Since the ldmdata area is so large create this tar using htar
   htar cvf ${hpssdir}/ldmdata.${machine}.${PDYm1}.tar -L ${DATA}/ldmdatalist
   hsi "chmod 640 ${hpssdir}/ldmdata.${machine}.${PDYm1}.tar"
   hsi "chgrp rstprod ${hpssdir}/ldmdata.${machine}.${PDYm1}.tar"
elif [ $TSM_FLAG = 'YES' ] ; then
     # Since the ldmdata area is so large create this tar using gtar
     gtar cvf ${DATA}/ldmdata.${machine}.${PDYm1}.tar -T ${DATA}/ldmdatalist
     /opt/freeware/bin/scp -oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_config ${DATA}/ldmdata.${machine}.${PDYm1}.tar ibmtsm1.ncep.noaa.gov:${rhistdir}/ldmdata.${machine}.${PDYm1}.tar
     ssh ibmtsm1.ncep.noaa.gov "chmod 640 ${rhistdir}/ldmdata.${machine}.${PDYm1}.tar"
     ssh ibmtsm1.ncep.noaa.gov "chgrp rstprod ${rhistdir}/ldmdata.${machine}.${PDYm1}.tar"
fi

err=$?

let err_check=$err_check+$err

rm ${DATA}/ldmdatalist

#
#   SAVE files from /iodprod/dbnet
#
cd /iodprod/dbnet
ls -1 log/*${PDYm1}* > ${DATA}/dbnlist
tar cvf ${DATA}/dbnet.${machine}.${PDYm1}.tar .profile .cshrc dbnet-4.4.4 runtime `cat ${DATA}/dbnlist`
rm ${DATA}/dbnlist

#
#   SAVE files from /iodprod/bbprod
#
cd /iodprod/bbprod
tar cvf ${DATA}/bbprod.${machine}.${PDYm1}.tar bb18c1 run_tidiff bb start_bb.sh

#
#  Transfer tar files to archive
#
cd $DATA

if [ $TSM_FLAG = 'NO' ] ; then

# Store archives in HPSS
hsi << EOF
cd $hpssdir
put bbprod.${machine}.${PDYm1}.tar : $hpssdir/bbprod.${machine}.${PDYm1}.tar
chmod 775 $hpssdir/bbprod.${machine}.${PDYm1}.tar
put dbnet.${machine}.${PDYm1}.tar : $hpssdir/dbnet.${machine}.${PDYm1}.tar
chmod 775 $hpssdir/dbnet.${machine}.${PDYm1}.tar
put ldmprod.${machine}.${PDYm1}.tar : $hpssdir/ldmprod.${machine}.${PDYm1}.tar
chmod 775 $hpssdir/ldmprod.${machine}.${PDYm1}.tar
put dcdprod.${machine}.${PDYm1}.tar : $hpssdir/dcdprod.${machine}.${PDYm1}.tar
chmod 640 $hpssdir/dcdprod.${machine}.${PDYm1}.tar
chgrp rstprod $hpssdir/dcdprod.${machine}.${PDYm1}.tar
bye
EOF

elif [ $TSM_FLAG = 'YES' ] ; then
# Store archives in TSM
     /opt/freeware/bin/scp -oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_config bbprod.${machine}.${PDYm1}.tar ibmtsm1.ncep.noaa.gov:${rhistdir}/
     ssh ibmtsm1.ncep.noaa.gov "chmod 775 ${rhistdir}/bbprod.${machine}.${PDYm1}.tar"
     /opt/freeware/bin/scp -oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_config dbnet.${machine}.${PDYm1}.tar ibmtsm1.ncep.noaa.gov:${rhistdir}/
     ssh ibmtsm1.ncep.noaa.gov "chmod 775 ${rhistdir}/dbnet.${machine}.${PDYm1}.tar"
     /opt/freeware/bin/scp -oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_config ldmprod.${machine}.${PDYm1}.tar ibmtsm1.ncep.noaa.gov:${rhistdir}/
     ssh ibmtsm1.ncep.noaa.gov "chmod 775 ${rhistdir}/ldmprod.${machine}.${PDYm1}.tar"
     /opt/freeware/bin/scp -oNoneEnabled=yes -oNoneSwitch=yes -F /home/nwprod/.ossh/ssh_config dcdprod.${machine}.${PDYm1}.tar ibmtsm1.ncep.noaa.gov:${rhistdir}/
     ssh ibmtsm1.ncep.noaa.gov "chmod 640 ${rhistdir}/dcdprod.${machine}.${PDYm1}.tar"
     ssh ibmtsm1.ncep.noaa.gov "chgrp rstprod ${rhistdir}/dcdprod.${machine}.${PDYm1}.tar"
fi

err=$?

let err_check=$err_check+$err

if [ $TSM_FLAG = 'NO' ] ; then

# Create index files
   htar -Xvf $hpssdir/bbprod.${machine}.${PDYm1}.tar
   htar -Xvf $hpssdir/dbnet.${machine}.${PDYm1}.tar
   htar -Xvf $hpssdir/ldmprod.${machine}.${PDYm1}.tar
   htar -Xvf $hpssdir/dcdprod.${machine}.${PDYm1}.tar

fi

err=$?

let err_check=$err_check+$err

if [ $err_check -ne 0 ]
then
   #err_exit
   exit $err_check
fi
