#! /bin/ksh
################################################################################
# UNIX Script Documentation Block                                              #
#                                                                              #
# Script name:         exsref_wrfbufr.sh.sms                                   #
# Script description:  makes sref mean bufr and gempak output  #
#                                                                              #
# Author:     Geoff Manikin      Org: NP22      Date: 2012-03-14               #
#                                                                              #
# Script history log:                                                          #
# 2007-07-30  Jun Du  - original script which served as starting point         #
# 2012-03-14  Geoff Manikin - adapted code to make mean bufr products          #
#                                                                              #
################################################################################
set -x

msg="JOB $job FOR SREF-MEANBUFR"
postmsg "$jlogfile" "$msg"

# ------------------------------------------------------------------------------
# DIRECTORY WHERE THE BUFR-JOB IS DONE
# ------------------------------------------------------------------------------
cd $DATA

sh $utilscript/setup.sh

export tmmark=tm00

members="em_ctl em_p1 em_n1 em_p2 em_n2 em_p3 em_n3 nmm_ctl nmm_p1 nmm_n1 nmm_p2
 nmm_n2 nmm_p3 nmm_n3 nmb_ctl nmb_p1 nmb_n1 nmb_p2 nmb_n2 nmb_p3 nmb_n3"
counter=1

for member in $members; do
# check if the profilm file exists
echo $COMIN_PROF
if [ ! -s $COMIN_PROF/${member}.${cycle}.profilm.tm00 ]
then
  echo 'missing profilm for ${member};  meanbufr will not run'
  exit
fi

cp ${COMIN_PROF}/${member}.${cycle}.profilm.tm00 profilm${counter}
counter=` expr $counter + 1 `
done

#------------------
# run mean bufr sounding program
#------------------
export XLFRTEOPTS="unit_vars=yes"
cp $PARMnam/nam_sndp.parm.mono              sndp.parm
cp $PARMnam/nam_bufr.tbl                    nam_bufr.tbl
cp $PARMsref/sref_NMB_modtop.parm               modtop.parm

export XLFUNIT_11=$DATA/nam_sndp.parm.mono
export XLFUNIT_32=$DATA/nam_bufr.tbl
export XLFUNIT_61=$DATA/profilm1
export XLFUNIT_62=$DATA/profilm2
export XLFUNIT_63=$DATA/profilm3
export XLFUNIT_64=$DATA/profilm4
export XLFUNIT_65=$DATA/profilm5
export XLFUNIT_66=$DATA/profilm6
export XLFUNIT_67=$DATA/profilm7
export XLFUNIT_68=$DATA/profilm8
export XLFUNIT_69=$DATA/profilm9
export XLFUNIT_70=$DATA/profilm10
export XLFUNIT_71=$DATA/profilm11
export XLFUNIT_72=$DATA/profilm12
export XLFUNIT_73=$DATA/profilm13
export XLFUNIT_74=$DATA/profilm14
export XLFUNIT_75=$DATA/profilm15
export XLFUNIT_76=$DATA/profilm16
export XLFUNIT_77=$DATA/profilm17
export XLFUNIT_78=$DATA/profilm18
export XLFUNIT_79=$DATA/profilm19
export XLFUNIT_80=$DATA/profilm20
export XLFUNIT_81=$DATA/profilm21
export XLFUNIT_84=$DATA/class1.bufr

$EXECsref/sref_meansndp < modtop.parm >> meansndp.out

#----------------------------
# breakout bufr per station
#----------------------------
cp class1.bufr $COMIN_PROF/srefmean.t${CYC}z.class1.bufr.${tmmark}

mkdir -p $COMIN_PROF/srefmean
cat <<EOF > stnmlist_input
1
class1.bufr
$COMIN_PROF/srefmean/srefmean
EOF

export XLFUNIT_20=class1.bufr
date
$EXECnam/nam_stnmlist < stnmlist_input > nam_stnmlist.out

if [ "$SENDDBN" = 'YES' ]; then
  $DBNROOT/bin/dbn_alert MODEL SREF_MEANBUFR $job \
    $COMIN_PROF/srefmean.t${CYC}z.class1.bufr.${tmmark}
fi

############## WANG ###################################
# Tar and gzip the individual bufr files and send them to /com
cd ${COMIN_PROF}/srefmean
tar -cf - . | /usr/bin/gzip > ../srefmean.${cycle}.bufrsnd.tar.gz
cd $DATA

#Send the alerts
if test "$SENDDBN" = 'YES'
  then
   $DBNROOT/bin/dbn_alert MODEL SREF_MEANBUFRSND_TAR $job $COMIN_PROF/srefmean.${cycle}.bufrsnd.tar.gz
fi
############## WANG ############################################

echo "sndp done!"

#------------------
# run GEMPAK
#------------------
ls -l
mkdir -p $COMOUT/gempak
#PARMgempak3=/nwprod/gempak/nawips3/gempak/tables/pack
PARMgempak1=/nwprod/gempak/nawips1/gempak/tables/pack
# PARMgempak is the same as PARMgempak1
. /nwprod/gempak/.gempak
/bin/rm -f *.nts
        
namsnd << EOF > /dev/null
 SNBUFR   = class1.bufr
 SNOUTF   = bufr.snd
 SFOUTF   = bufr.sfc+
 SNPRMF   = $PARMgempak1/sneta.prm
 SFPRMF   = $PARMgempak1/sfeta.prm
 TIMSTN   = 88/1500
        
l
ru
exit
EOF

mv bufr.snd      $COMOUT/gempak/srefmean.${PDY}${CYC}.snd
mv bufr.sfc      $COMOUT/gempak/srefmean.${PDY}${CYC}.sfc
mv bufr.sfc_aux  $COMOUT/gempak/srefmean.${PDY}${CYC}.sfc_aux

if [ "$SENDDBN" = 'YES' ]; then
  $DBNROOT/bin/dbn_alert MODEL SREF_SNDMEAN $job \
    $COMOUT/gempak/srefmean.${PDY}${CYC}.snd
  $DBNROOT/bin/dbn_alert MODEL SREF_SFCMEAN $job \
    $COMOUT/gempak/srefmean.${PDY}${CYC}.sfc
  $DBNROOT/bin/dbn_alert MODEL SREF_SFCMEAN $job \
    $COMOUT/gempak/srefmean.${PDY}${CYC}.sfc_aux
fi

    
exit
# ------------------------------------------------------------------------------
#                                             END
# -----------------------------------------------------------------------------
