#!/bin/ksh
######################################################################
#  UNIX Script Documentation Block
#                      .
# Script name:         exaqm_cmaq_maxi.sh
# Script description:  CMAQ post processing for daily surface maximum O3/PM2.5
#
# Author:  Youhua Tang  Org: NP22  Date: 2009-06-30
#
######################################################################
set -xa

export DBNALERT_TYPE=${DBNALERT_TYPE:-GRIB_HIGH}

cd $DATA

while [ ! -s ${COMIN}/aqm.${cycle}.aconc.bin ]; do
 sleep 120    # wait until the CMAQ output is ready
done

export CMAQFILE1=BIN:${COMIN}/aqm.${cycle}.aconc.bin
#XXW export CMAQFILE2=BIN:${COMIN}/aqm.t00z.aconc.bin
export CMAQFILE2=BIN:${COMIN}/aqm.t12z.aconc.bin
if [ $cyc -eq 12 ]; then
 #XXW export CMAQFILE3=BIN:${COMIN}/aqm.t06z.aconc.bin
 export CMAQFILE3=BIN:${COMIN}/aqm.t12z.aconc.bin
fi

cat >cmaq-maxi2grib.ini <<EOF5
&control
markutc=04
outfile='aqm-maxi.148.grib'
varlist='o3_1hr','o3_8hr'
id_gribdomain=148
/
EOF5

export NOTCDF_FATAL=F

startmsg
$EXECaqm/aqm_cmaq_maxi2grib_CHA >> $pgmout 2>errfile
export err=$?;err_chk

# interpolate to grid 227

$utilexec/copygb -g 227 -x -i"1 1" aqm-maxi.148.grib aqm-maxi.227.grib

$utilexec/wgrib.aqm -s aqm-maxi.227.grib | grep "OZMAX1" | $utilexec/wgrib.aqm -i aqm-maxi.227.grib -grib -o aqm-1hro3-maxi.227.grib
export err=$?;err_chk
$utilexec/wgrib.aqm -s aqm-maxi.227.grib | grep "OZMAX8" | $utilexec/wgrib.aqm -i aqm-maxi.227.grib -grib -o aqm-8hro3-maxi.227.grib
export err=$?;err_chk

for hr in 1 8
do

$utilexec/cnvgrib -g12 -m -p32  aqm-${hr}hro3-maxi.227.grib aqm-${hr}hro3-maxi.227.grib2

echo 0 > filesize
export XLFRTEOPTS="unit_vars=yes"
export XLFUNIT_11=aqm-${hr}hro3-maxi.227.grib2
export XLFUNIT_12="filesize"
export XLFUNIT_31=
export XLFUNIT_51=aqm-${hr}hro3-maxi.227.grib2.temp
$utilexec/aqm_smoke < $PARMutil/grib2_cmaq-${hr}hro3-maxi.${cycle}.227
#export err=$?;err_chk

echo `ls -l  aqm-${hr}hro3-maxi.227.grib2.temp | awk '{print $5} '` > filesize
export XLFRTEOPTS="unit_vars=yes"
export XLFUNIT_11=aqm-${hr}hro3-maxi.227.grib2.temp
export XLFUNIT_12="filesize"
export XLFUNIT_31=
export XLFUNIT_51=grib2.${envir}.${cycle}.aqm-${hr}hro3-max.227
$utilexec/aqm_smoke < $PARMutil/grib2_cmaq-${hr}hro3-maxi.${cycle}.227
#export err=$?;err_chk

rm filesize

       ##############################
       # Post Files to PCOM
       ##############################

       if test "$SENDPCOM" = 'YES'
       then
           cp grib2.${envir}.${cycle}.aqm-${hr}hro3-max.227  $pcom/grib2.${envir}.${cycle}.aqm-${hr}hro3-max.227.$job

          ##############################
          # Distribute Data
          ##############################

          if [ "$SENDDBN" = 'YES' ] ; then
             $DBNROOT/bin/dbn_alert $DBNALERT_TYPE $NET $job $pcom/grib2.${envir}.${cycle}.aqm-${hr}hro3-max.227.$job
          else
             msg="File $output_grb.$job not posted to db_net."
             postmsg "$jlogfile" "$msg"
          fi
       fi

done

if [ $cyc -eq 06 -o $cyc -eq 12 ] ; then
 cp grib2.${envir}.${cycle}.aqm-1hro3-max.227 $COMOUT/
 cp grib2.${envir}.${cycle}.aqm-8hro3-max.227 $COMOUT/
 cp aqm-maxi.148.grib $COMOUT/grib1.${envir}.${cycle}.aqm-daily-max.148
 if [ "$SENDDBN" = 'YES' ] ; then
  $DBNROOT/bin/dbn_alert MODEL AQM_03MAX_GB2 $job $COMOUT/grib2.${envir}.${cycle}.aqm-1hro3-max.227
  $DBNROOT/bin/dbn_alert MODEL AQM_03MAX_GB2 $job $COMOUT/grib2.${envir}.${cycle}.aqm-8hro3-max.227
 fi
fi