###################################################################
###
### driver script for program BUFR_TRANRAD3
###
### processes a block of multicast (nids) format level 3 radial
### wind radar data
###
### generates cell averages (superobs) and uses midpoint pixel
### values for obs, instead of contour edge values
###
### encodes radial wind superobs into BUFR format files
###
###  Positional parameters passed in:
###     1 - task number
###
###################################################################

set -xa
ntask=$1
cdate10=$2

datafile=radarfile${ntask}.$cdate10
isize=`ls -l $datafile  | awk '{ print $5 }'`

set +x
echo
echo "********************************************************************"
echo Running script bufr_tranrad3.sh - task $ntask
echo Executing on node  `hostname`
echo Starting time: `date`
echo
echo Input file: $datafile
echo File size:  $isize
echo "********************************************************************"
echo
set -x

stalist=sta_list${ntask}.$cdate10

set +x
echo
cat $stalist
echo
set -x

echo "$datafile" > parms.$ntask

cat <<parmsEOF >> parms.$ntask
 &namnids rangemax=400000.,delr=10000.,delaz=6.,idelt=30,
  maxradars=20,ntilts=4,errmin=2.,minnum=50,errmax=200.,
  nbigbytes=$isize,valid_time=$cdate10,iprint=0,diag=F
 /
parmsEOF

export pgm=bufr_tranrad3
. prep_step

export XLFUNIT_15=$stalist
export XLFUNIT_40=$FIXbufr/bufrtab.006
export XLFUNIT_52=level3.data.$cdate10.$ntask
export XLFUNIT_71=bufrout.$cdate10.$ntask
$EXECbufr/bufr_tranrad3 < parms.$ntask > $pgmout.$ntask
error=$? 

if [ $error -eq 0 ]
then
  msg="$pgm completed NORMALLY for task $ntask"
else
  cp /dev/null bufrout.$cdate10.$ntask
  msg="#####PROBLEM: $pgm FAILED for ntask $ntask"
fi
postmsg "$jlogfile" "$msg"

cat $pgmout.$ntask >> $pgmout

# Look for "OVERLARGE" subsets in stdout
# (print out of bufrlib when subset discarded because it is too big
#  to fit in a BUFR message) -- post to jlogfile if appropriate

grep "OVERLARGE SUBSET DISCARDED" $pgmout.$ntask > grep_overlg.$ntask
err=$?
if [ "$err" -eq '0' ]; then
   nlines=`cat grep_overlg.$ntask | wc -l`
   set +x
   echo
   cat grep_overlg.$ntask
   echo
   set -x
   ilines=0
   while [ $ilines -lt $nlines ]; do
      ilines=`expr $ilines + 1`
      jlines=`expr $nlines - $ilines + 1`
      msg=`tail -n $jlines grep_overlg.$ntask | head -n1`
      postmsg "$jlogfile" "$msg"
   done
fi
rm grep_overlg.$ntask

set +x
echo
echo "********************************************************************"
echo Script bufr_tranrad3.sh - task $ntask
echo Finished executing on node  `hostname`
echo Ending time  : `date`
echo "********************************************************************"
echo
set -x

exit $error
