#!/bin/sh
# 
# this program save sst, snow ice and prepbufr to r2 directory
#
set -x

NDATE=${NDATE:-/nwprod/util/exec/ndate}
UTIL=${UTIL:-}
[ -x "$UTIL/ndate" ] && NDATE="$UTIL/ndate"

monthdir=/u/Hui.Wang/home/data/monthdir.r2/
###monthdir=/u/Wesley.Ebisuzaki/home/data/monthdir.r2/
[ ! -d $monthdir ] && mkdir -p $monthdir


set -x

if [ $# -eq 1 ] ; then
  date=$1
else
  date=`find $monthdir -name 'prepbufr*.gz' | \
     sed -e 's/.*prepbufr//' -e 's/\.gz//' | \
     grep '^..........$' | sort -n | tail -1`
  if [ "$date" = "" ] ; then
     echo "usage $0 YYYYMMDDHH"
     echo "no previous prepbufr files to start from "
     exit 8
  fi
  date2=`find $monthdir -name 'sstgrb*' | \
     sed -e 's/.*sstgrb//' | sort -n | tail -1`
  if [ "$date2" = "" ] ; then
     echo "usage $0 YYYYMMDDHH"
     echo "no previous sst files to start from "
     exit 8
  fi
  [ $date2 -lt $date ] && date=$date2

  date=`$NDATE +6 $date`
  if [ "$date" -le "1899123100" -o "$date" -gt "2999123100" ] ; then
     echo "usage $0 YYYYMMDDHH"
     echo "prepbufr files have bad names"
     exit 8
  fi
fi

export date

PDY=`echo $date | cut -c1-8`
cyc=`echo $date | cut -c9-10`

# check com for data
err=0
in=/com/cdas/prod/cdas.$PDY
if [ -f $in/cdas.t${cyc}z.sanl ] ; then
   cp $in/cdas.t${cyc}z.prepbufr_pre-qc  $monthdir/prepbufr$date
   err=`expr $err + $?`
   [ -f $monthdir/prepbufr$date.gz ] && rm $monthdir/prepbufr$date.gz
   gzip  $monthdir/prepbufr$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.sstgrb $monthdir/sstgrb$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.snogrb $monthdir/snogrb$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.engicegrb $monthdir/icegrb$date
   err=`expr $err + $?`
   if [ "$err" -eq 0 ] ; then
      date=`$NDATE +6 $date`
      exec $0 $date
   fi
fi

# check my copy of com for data
err=0
in=/u/Hui.Wang/home/data/cdas/prod/cdas.$PDY

if [ -f $in/cdas.t${cyc}z.sanl ] ; then
   cp $in/cdas.t${cyc}z.prepbufr_pre-qc  $monthdir/prepbufr$date
   err=`expr $err + $?`
   [ -f $monthdir/prepbufr$date.gz ] && rm $monthdir/prepbufr$date.gz
   gzip  $monthdir/prepbufr$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.sstgrb $monthdir/sstgrb$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.snogrb $monthdir/snogrb$date
   err=`expr $err + $?`
   cp $in/cdas.t${cyc}z.engicegrb $monthdir/icegrb$date
   err=`expr $err + $?`
   if [ "$err" -eq 0 ] ; then
      date=`$NDATE +6 $date`
      exec $0 $date
   fi
fi

# check r1 rotating directory for archive

err=0
in=/u/Hui.Wang/home/data/monthdir

if [ ! -f $monthdir/prepbufr$date -a ! $monthdir/prepbufr$date.gz ] ; then
   if [ -f $in/prepbufr$date ] ; then
      cp $in/prepbufr$date $monthdir
      err=`expr $err + $?`
      [ -f $monthdir/prepbufr$date.gz ] && rm $monthdir/prepbufr$date.gz
      gzip  $monthdir/prepbufr$date
      err=`expr $err + $?`
   elif [ -f $in/prepbufr$date.gz ] ; then
      cp $in/prepbufr$date.gz $monthdir
      err=`expr $err + $?`
   else
      err=1
   fi
fi 
if [ $err -ne 0 ] ; then
  exit 8
fi


if [ -f $in/sstgrb$date ] ; then
  cp $in/sstgrb$date $monthdir
  err=`expr $err + $?`
  cp $in/snogrb$date $monthdir
  err=`expr $err + $?`
  cp $in/icegrb$date $monthdir
  err=`expr $err + $?`
fi

if [ ! -f $monthdir/prepbufr$date -a ! $monthdir/prepbufr$date.gz ] ; then
   echo "missing $monthdir/prepbufr$date"
   exit 5
fi
if [ ! -f $monthdir/sstgrb$date ] ; then
   echo "missing $monthdir/sstgrb$date"
   exit 5
fi
if [ ! -f $monthdir/snogrb$date ] ; then
   echo "missing $monthdir/snogrb$date"
   exit 5
fi
if [ ! -f $monthdir/icegrb$date ] ; then
   echo "missing $monthdir/icegrb$date"
   exit 5
fi


if [ "$err" -eq 0 ] ; then
   date=`$NDATE +6 $date`
   exec $0 $date
fi

echo "error code = $err"
exit 8



if [ "$err" -eq 0 ] ; then
   date=`$NDATE +6 $date`
   exec $0 $date
fi

echo "error code = $err"
exit 8
