#!/bin/sh

#####################################################################
echo "------------------------------------------------"
echo " This script dumps the UPA data and then makes a 4 
echo " Panel Upper Air Charts for it"
echo "------------------------------------------------"
echo "History: AUG 1996 - First implementation of this new script."
echo "         FEB 2000 - Modified for implementation of the IBM SP"
echo " "
#####################################################################

cp ncepdate $DATA
cd $DATA

######################
# Set up Here Files.
######################


##########################################
#
# START FLOW OF CONTROL
#
# 1) Get the NCEPDATE.
#
# 2) Dump ADPUPA data.
#
# 3) AIRPOLT1
#
# 4) airpltaf
#
# 5) afstoawp
#
# 6) apfaxanl
#
# 7) afcmpanl
#
# 8) afstoawp
#
#########################################


set -x

export COMm1=/com/${NET}/${envir}/${NET}.${PDYm1}
export comrun=/com/${NET}/${envir}/${NET}.${PDY}/${RUN}.${cycle}


set +x
echo " "
echo "######################################"
echo " Dump ADPUPA Data"
echo "######################################"
echo " "
set -x

# LALO is set if doing geographic dumping
#  AIRPOLT1 domain: 0N northward to 90N, 40W westward to 180W
#                   (Blocks 71-78)
export LALO=000090040180

# BACK must be set to on if running background shells
export BACK=on

export dumptime=`cut -c7-16 ncepdate`

set +x
echo
echo "CENTER DATA DUMP DATE-TIME FOR $tmmark $NET IS $dumptime"
echo
set -x

msg="START THE $tmmark $NET DATA DUMP CENTERED ON $dumptime"
postmsg "$jlogfile" "$msg"

export COMSP=$COMOUT/$RUN.${cycle}.
export tmmark=tm00
export prepssmi=NO
export prepersd=NO

errdump=0

if [ -s ${COMSP}status.${tmmark}.bufr_d ]; then
   msg="**WARNING: status file already exists - no data dumps produced"
   postmsg "$jlogfile" "$msg"
else
   export STATUS=YES
   export DUMP_NUMBER=1
# Only Land Radiosonde Subtype is Dumped
   export SKIP_002002=YES
   export SKIP_002003=YES
   export SKIP_002004=YES
   export SKIP_002005=YES
   export SKIP_004005=YES
   $ushscript/bufr_dump_obs.sh $dumptime 1.5 1 adpupa
   errdump=$?
fi

if [ "$errdump" -gt '5' ]; then
   if [ "$errdump" -ne '11' -a "$errdump" -ne '22' ]; then

## fatal error in dumping of BUFR obs. files
      set +x
      echo
      echo " ###################################################### "
      echo " --> > 22 RETURN CODE FROM DATA DUMP, $errdump "
      echo " --> @@ F A T A L   E R R O R @@   --  ABNORMAL EXIT    "
      echo " ###################################################### "
      echo
      set -x

      err_exit
      exit 9

   else

## a status code of 11 or 22 from dumping of BUFR obs. files
## is non-fatal but still worth noting
      set +x
      echo
      echo " ###################################################### "
      echo " --> > 5 RETURN CODE FROM DATA DUMP, $errdump "
      echo " --> NOT ALL DATA DUMP FILES ARE COMPLETE - CONTINUE    "
      echo " ###################################################### "
      echo
      set -x
   fi
fi


set +x
echo " "
echo "######################################"
echo " Process AIRPOLT1"
echo "######################################"
echo " "
set -x

cp $COMIN/${RUN}.${cycle}.adpupa.tm00.bufr_d ADPUPA
err=$?

if test "$err" -ne 0
then
 msg="FAILURE TO COPY FILES FROM COM"
 postmsg "$jlogfile" "$msg"
 err_exit
fi

export pgm=graph_airpolt1
. prep_step

export XLFUNIT_12="$DATA/ADPUPA"        # the input upper air buffer file.
export XLFUNIT_51="$DATA/airpol1.$job"   # file for next step
export XLFUNIT_75="$DATA/airpolmsg.$pid" # the consol message file.


startmsg

$EXECgraph/graph_airpolt1 >> $pgmout  2>>errfile
err=$?;export err; err_chk


# airpol1.ft9 is input for graphics program

cp airpol1.$job $pcom/airpol1.$job

set +x
echo " "
echo "######################################"
echo " MAKE AFOS MAPS L0A, P0D, P01 and P03."
echo "######################################"
echo " "
set -x

# set return code flag.

   afosplrc=0
     echo $afosplrc >$DATA/afosplrc

AFSAIRPLT=afos.airplt${cyc}.${NET}.${job}
control=graph_afos${cyc}.control
infile=airpol1.${job}
pass55=airtap55.${job}
passcards=airpltpass.${job}

$utilscript/afosairplt.sh $infile $AFSAIRPLT $control \
                         $pass55  $passcards
                         
read afosplrc < $DATA/afosplrc
if test $afosplrc -eq '0'
then 
set +x
echo " "
echo "#############################################################"
echo " Convert AFOS MAPS L0A, P0D, P01 and P03 to AWIPS format."
echo "#############################################################"
echo " "
set -x

futilities=$utilscript
export futilities
pils='l0a p0d p01 p03'

member=afstoawp.sh
export member
$utilscript/afstoawp.sh $AFSAIRPLT  "${pils}" 

set +x
echo " "
echo "#############################################################"
echo " Make 4 FAX MAPS "
echo "#############################################################"
echo " "
set -x
APFAXANL=fax.apfaxanl${cyc}.${NET}.${job}
faxcontrol=graph_fax${cyc}.control


$utilscript/faxairplt.sh  $APFAXANL $faxcontrol \
                        $pass55 $passcards
set +x
echo " "
echo "######################################"
echo " MAKE AFOS MAPS L0F and I0P."
echo "######################################"
echo " "
set -x


AFOSANAL=afos.afcmpanl${cyc}.${NET}.${job}
afcmcontrol=graph_afcompanl${cyc}.control
passcards=airpltpass.${job}


$utilscript/afoscmpanl.sh $AFOSANAL $afcmcontrol $passcards

set +x
echo " "
echo "#############################################################"
echo " Convert AFOS MAPS L0F and I0P to AWIPS format."
echo "#############################################################"
echo " "
set -x

futilities=$utilscript
export futilities
pils='l0f i0p'

$utilscript/afstoawp.sh $AFOSANAL "${pils}" 


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

msg="HAS COMPLETED NORMALLY!"

else
   set +x 
   echo "************** $job ABNORMAL STOP ON THE IBM SP"
   echo "************** $job ABNORMAL STOP ON THE IBM SP"
   echo "************** $job ABNORMAL STOP ON THE IBM SP"
   set -x  
  
   msg="ERROR afosairplt.sh AFOS MAPS NOT MADE!"
   postmsg "$jlogfile" "$msg"
   msg="afosairplt.sh: ABNORMAL STOP = $afosplrc!:" 
fi

postmsg "$jlogfile" "$msg"
############## END OF SCRIPT #######################
