#!/bin/sh

#######################################################################
#  Purpose: To extract multiple parameters from NCEP GFS model output
#           GRIB file for one projection and interpolate the parameters 
#           to MDL's fine grid. Uses wgrib and copygb utilities.
echo "------------------------------------------------"
echo "JGFSMOS_HRQPF_PREPREP processing                "
echo "------------------------------------------------"
echo "History: May 1, 2011 - First implementation of this new script."
#######################################################################
#
cd $DATA

########################################
set -x
msg="Begin job for $job"
postmsg "$jlogfile" "$msg"
########################################

echo $PDY $cyc: Date and Cycle - echo PDY and cyc

#######################################################################
# LOOP THROUGH PROJECTIONS
#######################################################################
for tau in 00 03 06 09 12 15 18 21 24 27 30 33 36\
           39 42 45 48 51 54 57 60 63 66 69 72 75\
           78 81 84 87 90 93 96 99 102 105
do
#######################################################################
# COPY MODEL FILES TO TEMP SPACE
#######################################################################

  cp $COMIN/gfs.$cycle.pgrbf$tau gfs.$PDY$cyc.pgrbf$tau
  cp $COMIN/gfs.$cycle.pgrbif$tau gfs.$PDY$cyc.pgrbif$tau

#######################################################################
# RUN WGRIB TO GET INPUT LIST FOR COPYGB
# RUN COPYGB FOR NON PRECIP
# CONVERTS TO MDL GRID
#######################################################################

  grid=`cat $FIXmdl/mdl_finegds`
  g1=gfs.$PDY$cyc.pgrbf$tau
  x1=gfs.$PDY$cyc.pgrbif$tau
 
  $EXECutil/wgrib $g1 > wgrib.out
  grep -f $FIXmdl/mdl_gfsxpcp.wgrib wgrib.out |\
  $EXECutil/copygb -a -kw -g"$grid" -i0 $g1 $x1 mdl_xpcp.$cycle.pgrb 
 

#######################################################################
# RUN WGRIB TO GET INPUT LIST FOR COPYGB
# RUN COPYGB FOR PRECIP
# CONVERTS TO MDL GRID
#######################################################################
 
  grid=`cat $FIXmdl/mdl_finegds`
  g1=gfs.$PDY$cyc.pgrbf$tau
  x1=gfs.$PDY$cyc.pgrbif$tau
 
  grep -f $FIXmdl/mdl_gfspcp.wgrib wgrib.out |\
  $EXECutil/copygb -a -kw -g"$grid" -i3 $g1 $x1 mdl_pcp.$cycle.pgrb
 
done

#######################################################################
# GET INDICES AND INVENTORY
#######################################################################
$EXECutil/grbindex mdl_xpcp.$cycle.pgrb mdl_xpcp.$cycle.pgrbi
$EXECutil/grbindex mdl_pcp.$cycle.pgrb mdl_pcp.$cycle.pgrbi
$EXECutil/invindex mdl_xpcp.$cycle.pgrbi > mdl_xpcp.pgrbinv.$PDY$cyc
$EXECutil/invindex mdl_pcp.$cycle.pgrbi > mdl_pcp.pgrbinv.$PDY$cyc

#######################################################################
# GRB2MDLP
# CONVERT GRIB TO MDL_PACK FOR HOURS 0 TO 102 
#######################################################################

export pgm=mdl_grb2mdlp
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_11="mdl_xpcp.$cycle.pgrb"
export XLFUNIT_21="mdl_xpcp.$cycle.pgrbi"
export XLFUNIT_12="mdl_pcp.$cycle.pgrb"
export XLFUNIT_22="mdl_pcp.$cycle.pgrbi"
export XLFUNIT_30="$FIXmdl/mdl_gridlst"
export XLFUNIT_51="pkgfsraw.$DAT"
export XLFUNIT_52="grb2mdlp.lst"
echo MDLLOG: `date` - Program grb2mdlp has begun.
startmsg
$EXECmdl/mdl_grb2mdlp < $PARMmdl/mdl_hrqpf_gfsgrbcnv.cn.$cycle >> $pgmout 2>errfile
export err=$?; err_chk

#######################################################################
# COPY FILES TO COM
#######################################################################

if test $SENDCOM = 'YES'
then
  cp pkgfsraw.$DAT $COMOUT/mdl_hrqpf_gfspkd.$cycle
#  cp mdl_xpcp.$cycle.pgrb $COMOUT
#  cp mdl_xpcp.$cycle.pgrbi $COMOUT
#  cp mdl_pcp.$cycle.pgrb $COMOUT
#  cp mdl_pcp.$cycle.pgrbi $COMOUT
fi

#####################################################################
# GOOD RUN
set +x
echo "************** $job COMPLETED NORMALLY ON THE IBM SP"
set -x
######################################################################

msg="HAS COMPLETED NORMALLY!"
postmsg "$jlogfile" "$msg"

#######################################################################
