###################################################################
echo "------------------------------------------------"
echo "J101 - " 
echo "------------------------------------------------"
echo "History: OCT 1996 - First implementation of this new script."
echo "History: FEB 1998 - Dropped /com/ncepdate (2-digit year)"
echo "                    from utility zdate.sh"
echo "History: MAR 1999 - Adapted for running on CLASS-VIII IBM"
echo "         FEB 2001 - Split from the ex100.sh.sms script"
echo "         OCT 2004 - Renamed ex101.sh.sms to exprod_cleanup.sh.sms"
#####################################################################

cd $DATA

#####################################################################
#
# START FLOW OF CONTROL
#
# 1) Clean /home/nwprod directory.
# 2) Clean /com directories.
# 3) Thin /com directories.
# 4) Clean /nwges directories.
# 5) Thin /nwges directories.
# 6) Clean /com/climate directories.
# 7) Remove /tmpnwprd directories older than one day.
# 8) Cleanup /dcom/us007003
# 9) thin /com sub-directories such as gefs, cmc ens, ...etc
#10) Cleanup old atcf data in /com/tpc/prod
#####################################################################

########################################
set -x
msg="JOB $job HAS BEGUN"
postmsg "$jlogfile" "$msg"
##########################################

#####################################################################
#
# 1.  Clean /home/nwprod directory.
#
#####################################################################
#rm -rf /home/nwprod/*

#########################################################################
#
# 2.  Clean /com directories
#
#########################################################################
if test "$cleanup_com" = "YES"
then
   grep -v "#" $PARMutil/cleanup_rm_com | sed "s/ //g" > tmp_clean
   for clean_list in `cat tmp_clean`
   do
      NET=`echo $clean_list | awk -F"|" '{print $2}'`
      directory=`echo $clean_list | awk -F"|" '{print "/com/"$1"/\$clean_envir"}'`
      prod_keep00=`echo $clean_list | awk -F"|" '{print $3}'`
      prod_keep12=`echo $clean_list | awk -F"|" '{print $4}'`
      para_keep00=`echo $clean_list | awk -F"|" '{print $5}'`
      para_keep12=`echo $clean_list | awk -F"|" '{print $6}'`
      test_keep00=`echo $clean_list | awk -F"|" '{print $7}'`
      test_keep12=`echo $clean_list | awk -F"|" '{print $8}'`

      for clean_envir in prod para test
      do
         if test `eval echo $"cleanup_com_${clean_envir}"` = "YES"
         then
            com=`eval echo $directory`
            keep=`eval echo $"${clean_envir}_keep${cyc}"`

            sh $USHutil/cleanup_rmdir.sh $PDY $com $keep $NET
         fi
      done
   done
fi

#########################################################################
#
# 3.  Thin /com directories
#
#########################################################################
if test "$thin_com" = "YES"
then
   grep -v "#" $PARMutil/cleanup_thin_com | sed "s/ //g" > tmp_clean
   for clean_list in `cat tmp_clean`
   do
      NET=`echo $clean_list | awk -F"|" '{print $2}'`
      directory=`echo $clean_list | awk -F"|" '{print "/com/"$1"/\$clean_envir"}'`
      keep_flag=`echo $clean_list | awk -F"|" '{print $3}'`
      prod_keep00=`echo $clean_list | awk -F"|" '{print $4}'`
      prod_keep12=`echo $clean_list | awk -F"|" '{print $5}'`
      para_keep00=`echo $clean_list | awk -F"|" '{print $6}'`
      para_keep12=`echo $clean_list | awk -F"|" '{print $7}'`
      test_keep00=`echo $clean_list | awk -F"|" '{print $8}'`
      test_keep12=`echo $clean_list | awk -F"|" '{print $9}'`

      for clean_envir in prod para test
      do
         if test `eval echo $"thin_com_${clean_envir}"` = "YES"
         then
            com=`eval echo $directory`
            keep=`eval echo $"${clean_envir}_keep${cyc}"`

            if test "$keep_flag" = "K"
            then
               rmfile=$PARMutil/cleanup_com_${NET}_keeplist
            elif test "$keep_flag" = "R"
            then
               rmfile=$PARMutil/cleanup_com_${NET}_rmlist
            else
               rmfile=NONE
               msg="No Flag Set for ${com}/${NET} in cleanup_thin_com table"
               postmsg "$jlogfile" "$msg"
            fi
   
            if test -f $rmfile
            then
               $USHutil/cleanup_thindir.sh $PDY $com $NET $keep $rmfile
            else
               if test $rmfile != "NONE"
               then
                  msg="File $rmfile not found.  No thinning of $com/$NET occurred."
                  postmsg "$jlogfile" "$msg"
               fi
            fi
         fi
      done
   done
fi

#########################################################################
#
# 4.  Clean /nwges directories
#
#########################################################################
if test "$cleanup_nwges" = "YES"
then
   grep -v "#" $PARMutil/cleanup_rm_nwges | sed "s/ //g" > tmp_clean
   for clean_list in `cat tmp_clean`
   do
      NET=`echo $clean_list | awk -F"|" '{print $1}'`
      prod_keep00=`echo $clean_list | awk -F"|" '{print $2}'`
      prod_keep12=`echo $clean_list | awk -F"|" '{print $3}'`
      para_keep00=`echo $clean_list | awk -F"|" '{print $4}'`
      para_keep12=`echo $clean_list | awk -F"|" '{print $5}'`
      test_keep00=`echo $clean_list | awk -F"|" '{print $6}'`
      test_keep12=`echo $clean_list | awk -F"|" '{print $7}'`

      for clean_envir in prod para test
      do
         if test `eval echo $"cleanup_nwges_${clean_envir}"` = "YES"
         then
            keep=`eval echo $"${clean_envir}_keep${cyc}"`

            sh $USHutil/cleanup_rmdir.sh $PDY /nwges/$clean_envir $keep $NET
         fi
      done
   done
fi

#########################################################################
#
# 5.  Thin /nwges directories
#
#########################################################################
if test "$thin_nwges" = "YES"
then
   ######################################################
   # 
   # Thin Ruc2 guess files
   # 
   ######################################################
   export pgm=rucs_makatim;prep_step
   export XLFUNIT_19=NMCDATE
   export XLFUNIT_9=MAPTIME
   /nwprod/exec/rucs_makatim
   JDY=`cat MAPTIME`
   if test `echo $JDY | wc -c` -lt 11
   then
      cent=`date -u +%C`
      JDY=$cent$JDY
   fi

   JDY=`echo $JDY | cut -c1-7`
   let "JDYM2=JDY-2"
   let "JDYM3=JDY-3"
   let "JDYM4=JDY-4"
   let "JDYM5=JDY-5"
   let "JDYM6=JDY-6"
   let "JDYM7=JDY-7"

   for gesday in $JDYM3 $JDYM4 $JDYM5 $JDYM6 $JDYM7
   do
      rm -f /nwges/ruc2/ruc2ges/${gesday}*.grib
      rm -f /nwges/ruc2/ruc2ges/ruc2_sfc/${gesday}*.grib
      rm -f /nwges/ruc2/nambc/${gesday}*.grib
      rm -f /nwges/ruc2/para/ruc2ges/${gesday}*.grib
      rm -f /nwges/ruc2/para/ruc2ges/ruc2_sfc/${gesday}*.grib
      rm -f /nwges/ruc2/para/nambc/${gesday}*.grib
   done

   ######################################################
   #
   # Thin WSR guess files
   #
   ######################################################
   for gesday in $PDYm6 $PDYm7
   do
      rm -f /nwges/wsr/${gesday}*
      rm -f /nwges/wsr/ec${gesday}*
      rm -f /nwges/wsr/nc${gesday}*
   done

   for day in $PDYm6 $PDYm7
   do
      rm -rf /com/aqm/para/AQM3X/aqm.$day
   done
fi

#########################################################################
#
# 6. Clean /com/climate directories that are older than two months.
#
#########################################################################

DOM=`echo $PDY |cut -c7-8`
if test $DOM = "06"
then
   CURRENT_MONTH=`echo $PDY |cut -c5-6`
   YYYY=`echo $PDY |cut -c1-4`
   MMP2=`expr $CURRENT_MONTH - 1`
   if [ $MMP2 -lt 10 ]; then MMP2=0$MMP2; fi
   YYYYP2=$YYYY
   if [ $MMP2 -le 0 ]; then
         MMP2=`expr $MMP2 + 12`
         if [ $MMP2 -lt 10 ]; then MMP2=0$MMP2; fi
         YYYYP2=`expr $YYYY - 1`
   fi
   rm -rf /com/climate/prod/forecast.${YYYYP2}${MMP2}
   rm -rf /com/climate/prod/hindcast.${YYYYP2}${MMP2}

fi

#########################################################################
#
# 7. Remove /tmpnwprd directories older than one day.
#
#########################################################################
if test "$thin_tmpnwprd" = "YES"
then
   find /tmpnwprd/ -mtime +1 -exec rm -rf {} \;
fi

#########################################################################
#
# 8. Cleanup /dcom/us007003
#
#########################################################################
export PDYM10=`$USHutil/finddate.sh $PDY d-10`
export PDYM11=`$USHutil/finddate.sh $PDY d-11`
export PDYM12=`$USHutil/finddate.sh $PDY d-12`
for gesday in $PDYM10 $PDYM11 $PDYM12
do
   rm -rf /dcom/us007003/${gesday}
   rm -rf /dcom/us007003/para/${gesday}
done

#Clean up subsurface data tanks (YYYYMM), keep previous 6 months
DOM=`echo $PDY |cut -c7-8`
if test $DOM = "01"
then
   CURRENT_MONTH=`echo $PDY |cut -c5-6`
   YYYY=`echo $PDY |cut -c1-4`
   MMP2=`expr $CURRENT_MONTH - 7`
   if [ $MMP2 -lt 10 ]; then MMP2=0$MMP2; fi
   YYYYP2=$YYYY
   if [ $MMP2 -le 0 ]; then
         MMP2=`expr $MMP2 + 12`
         if [ $MMP2 -lt 10 ]; then MMP2=0$MMP2; fi
         YYYYP2=`expr $YYYY - 1`
   fi
   rm -rf /dcom/us007003/${YYYYP2}${MMP2}
fi

#########################################################################
#
# 9. Thin /com sub-directories
#
#########################################################################
for day in $PDYm3 $PDYm4
do
   rm -rf /com/gens/para/gefs.$day/*/pgrbb
   rm -rf /com/gens/para/gefs.$day/*/pgrb2b
   rm -rf /com/gens/para/gefs.$day/*/sfcsig

   rm -rf /com/gens/prod/gefs.$day/*/pgrbb
   rm -rf /com/gens/prod/gefs.$day/*/pgrb2b
   rm -rf /com/gens/prod/gefs.$day/*/sfcsig
done

$USHutil/cleanup_thin_subdir.sh

#########################################################################
#
#10) Cleanup old atcf data in /com/tpc/prod
#
#########################################################################
find /com/tpc/prod/atcf/??8* -mtime +7 -exec rm -rf {} \;
find /com/tpc/prod/atcf/??9* -mtime +7 -exec rm -rf {} \;
find /com/tpc/prod/atcf/??[0-4]* -mtime +240 -exec rm -rf {} \;

#####################################################################
# GOOD RUN
set +x
echo "**************JOB PROD_CLEANUP COMPLETED NORMALLY ON THE IBM"
echo "**************JOB PROD_CLEANUP COMPLETED NORMALLY ON THE IBM"
echo "**************JOB PROD_CLEANUP COMPLETED NORMALLY ON THE IBM"
set -x
#
#####################################################################

msg="JOB $job HAS COMPLETED NORMALLY."
echo $msg
postmsg "$jlogfile" "$msg"

############## END OF SCRIPT #######################