echo "------------------------------------------------"
echo "  Verification - Daily Statistics"
echo "------------------------------------------------"

 
###############################################################
# Daily forecast files for various models are used to         #
# generate daily statistical scores for the monthly WMO       #
# Reports.                                                    #
###############################################################

msg="HAS BEGUN"
postmsg "$jlogfile" "$msg"

set -x

cd $DATA

export XLFRTEOPTS="unit_vars=yes"

######################################################################
# SECTION 1.  Computing QCADP                                        #
#             QCADP consists of qualities checks and restrictions    #
#             which are applied to Radiosonde data                   #
######################################################################

#for loop number 1 start
for ct in 00 12
do
 
#############################
#   Produce namelist file   #
#############################
 
cat <<\qc2EOF >qc_namlst
  &INPARM ANLD='PGRBANLX', ANLI='PGRBIANL', IGRID=3, RPT=0,
  XS=3.9,3.75,3.0,3.5, LPRDAT=.FALSE.,INTPM=1, INDXA='G' /
qc2EOF
 
#################################
#   Set input data file paths   #
#################################
 
  if ! [ -s $COMIN/gdas1.t${ct}z.prepbufr ]
  then
    echo "ADP NOT AVAILABLE"
    echo "QCADP AND VERIFICATIONS CANNOT BE DONE"
    msg="GDAS prepbufr MISSING: QCADP AND VERIFICATIONS CANNOT BE DONE. EXITING"
    postmsg "$jlogfile" "$msg"
    exit
  fi

  if ! [ -s $COMINanl/gfs.t${ct}z.pgrbianl ]
  then
    echo "ANL NOT AVAILABLE"
    echo "QCADP AND VERIFICATIONS CANNOT BE DONE"
    msg="GFS pgrbianl MISSING: QCADP AND VERIFICATIONS CANNOT BE DONE. EXITING"
    postmsg "$jlogfile" "$msg"
    exit
  fi

  pgm=hrly_qcadp
  export pgm;. prep_step

  cp $COMINanl/gfs.t${ct}z.pgrbanl PGRBANLX
  cp $COMINanl/gfs.t${ct}z.pgrbianl PGRBIANL   

  echo $PDYm1$ct > arkvdate

  export XLFUNIT_8="arkvdate"
  export XLFUNIT_9="qc_namlst"
  export XLFUNIT_10=$COMIN/gdas1.t${ct}z.prepbufr
  export XLFUNIT_11="PGRBANLX"
  export XLFUNIT_12="PGRBIANL" 
  export XLFUNIT_60="qcadp"
  export XLFUNIT_70="tosda"

  $EXEChrly/hrly_qcadp 1>>qcadp_prt 2>>qcadp_err
  export err=$?; err_chk
 
#####################################################
# Save the printout file and append the output file #
#####################################################

  if test "$SENDCOM" = 'YES'
  then
    cp qcadp $DATA/qcadp.$ct
    cat tosda | cat >> $COMOUT_SUMAC41/tosda_dat$yy$mm"."$dd
    cat qcadp | cat >> $COMOUT_SUMAC41/qcadp_dat$yy$mm"."$dd
    export err=$?
    if [ $err -ne 0 ]
    then
      err_exit
    fi
  fi
 
done
#for loop number 1 end

#############################
# End of generating QCADP   #
# End of SECTION 1.         #
#############################
 
#############################################################
# SECTION 2. VERIFICATION OF FORECAST AGAINST RADIOSONDE    #
#            This is known as the SUMAC4 portion which      #
#            uses the QCADP which was generated in          #
#            SECTION 1                                      #
#############################################################

########################################################################
#  Copying daily GRIB and GRIB INDEX forecast files from production.   #
########################################################################

cd $DATA

##############################
#  Forecast files from GFS   #
##############################

cp $COMINanl/gfs.t00z.pgrbanl .
 
$EXECwgrib/wgrib gfs.t00z.pgrbanl | egrep "(:MSL:|:850 mb:|:500 mb:|:250 mb:|:100 mb:)" \
   | $EXECwgrib/wgrib -i gfs.t00z.pgrbanl -grib -o tmpfile

$EXECwgrib/wgrib tmpfile | egrep "(:HGT:|:TMP:|:RH:|:UGRD:|:VGRD:|:PRMSL:|:VVEL:|:VWSH:)"  \
   | $EXECwgrib/wgrib -i tmpfile -grib -o ver.gfs.t00z.pgrbanl

rm -f tmpfile

$EXECwgrib/grbindex ver.gfs.t00z.pgrbanl ver.gfs.t00z.pgrbianl

cp ver.gfs.t00z.pgrbanl $COMOUT/grib
cp ver.gfs.t00z.pgrbianl $COMOUT/grib

cp $COMINanl/gfs.t12z.pgrbanl .

$EXECwgrib/wgrib gfs.t12z.pgrbanl | egrep "(:MSL:|:850 mb:|:500 mb:|:250 mb:|:100 mb:)" \
  | $EXECwgrib/wgrib -i gfs.t12z.pgrbanl -grib -o tmpfile

$EXECwgrib/wgrib tmpfile | egrep "(:HGT:|:TMP:|:RH:|:UGRD:|:VGRD:|:PRMSL:|:VVEL:|:VWSH:)" \
  | $EXECwgrib/wgrib -i tmpfile -grib -o ver.gfs.t12z.pgrbanl

rm -f tmpfile

$EXECwgrib/grbindex ver.gfs.t12z.pgrbanl ver.gfs.t12z.pgrbianl
 
cp ver.gfs.t12z.pgrbanl $COMOUT/grib
cp ver.gfs.t12z.pgrbianl $COMOUT/grib

hr_list_GFS=" 00 12 24 36 48 60 72 84 96 108 120 132 144 156 168 180 192 204 216 228 240 "

#for loop number 2 start
for nfile in $hr_list_GFS
do

 cp $COMINanl/gfs.t00z.pgrbf${nfile} .

  $EXECwgrib/wgrib gfs.t00z.pgrbf${nfile} | egrep "(:MSL:|:850 mb:|:500 mb:|:250 mb:|:100 mb:)" \
  | $EXECwgrib/wgrib -i gfs.t00z.pgrbf${nfile} -grib -o tmpfile

  $EXECwgrib/wgrib tmpfile | egrep "(:HGT:|:TMP:|:RH:|:UGRD:|:VGRD:|:PRMSL:|:VVEL:|:VWSH:)" \
  | $EXECwgrib/wgrib -i tmpfile -grib -o ver.gfs.t00z.pgrbf${nfile}

  rm -f tmpfile

  $EXECwgrib/grbindex ver.gfs.t00z.pgrbf${nfile} ver.gfs.t00z.pgrbif${nfile}

  cp ver.gfs.t00z.pgrbf${nfile} $COMOUT/grib
  cp ver.gfs.t00z.pgrbif${nfile} $COMOUT/grib

  cp $COMINanl/gfs.t12z.pgrbf${nfile} .

  $EXECwgrib/wgrib gfs.t12z.pgrbf${nfile} | egrep "(:MSL:|:850 mb:|:500 mb:|:250 mb:|:100 mb:)" \
  | $EXECwgrib/wgrib -i gfs.t12z.pgrbf${nfile} -grib -o tmpfile 

  $EXECwgrib/wgrib tmpfile | egrep "(:HGT:|:TMP:|:RH:|:UGRD:|:VGRD:|:PRMSL:|:VVEL:|:VWSH:)" \
   | $EXECwgrib/wgrib -i tmpfile -grib -o ver.gfs.t12z.pgrbf${nfile}

  rm -f tmpfile

  $EXECwgrib/grbindex ver.gfs.t12z.pgrbf${nfile} ver.gfs.t12z.pgrbif${nfile}

  cp ver.gfs.t12z.pgrbf${nfile} $COMOUT/grib
  cp ver.gfs.t12z.pgrbif${nfile} $COMOUT/grib

done
#for loop number 2 end

###############################
# Looping on the Cycle time   #
###############################

# for loop number 3 start
for ct in 00 12
do

##############################################
# Setting the current time/cycle and month   #
##############################################

   echo "ANALYSIS DATE-TIME IS $PDYm1$ct"

########################################################
# Verification begins.                                 #
# Copy an executable objective file for SUMAC4,        #
# station lists for verifying areas and verification   #
# table into working directory.                        #
########################################################
 
   cp $FIXhrly/hrly_subarea.dic     .            
   export err1=$?                   
   cp $FIXhrly/hrly_verf_tab_$ct   .              
   export err2=$?                   
   tot=`expr $err1 + $err2`
   if [ $tot -ne 0 ]
   then
     err_chk   
   fi

############################################################################
# Produce a common namelist file for verifying forecasts from most models  #
############################################################################

cat <<\sumac1EOF >sm_namlst1
     &OPTION  RPT=2, VDATE1=1998071212, VDATE2=2999123112, /
     &OPTION  PRSTAT=.FALSE., WRSTAT=.TRUE., MINWND=0, /
     &OPTION  MAXWND=150, DIAG=.TRUE., INTPM=1, /
sumac1EOF

   icn_models=" gfs12 gfs24 nam ukmet jets "

# for loop number 4 start
   for nmodels in $icn_models
   do

# start of if for gfs12
     if test "$nmodels" = 'gfs12'
     then

#####################################################
# Verifying GFS forecasts against radiosondes:      #
#     Computing S1 scores for 12 hours intervals:   #
#         000HR 012HR 024HR 036HR 048HR 060HR       #
#         072HR 084HR 096HR 108HR and 120HR         #
#####################################################

###########################
# Produce namelist file   #
###########################

cat <<\sumac2EOF >sm_namlst2
       &FILES   RPT=0, NFILE=11, FHR='F000','F012','F024',
             'F036','F048','F060','F072','F084','F096',
             'F108','F120',KRUN='LRG2',
       /
sumac2EOF

#################################
# Copying the forecast fields   #
#################################

       if [ $ct -eq 00 ]
       then
         cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbf00 F000DAT
         cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbif00 FOOONDX
         n=0
       else
         cp $COMOUT/grib/ver.gfs.t12z.pgrbf00 F000DAT
         cp $COMOUT/grib/ver.gfs.t12z.pgrbif00 F000NDX
         cp $COMOUT/grib/ver.gfs.t00z.pgrbf12 F012DAT
         cp $COMOUT/grib/ver.gfs.t00z.pgrbif12 F012NDX
         n=1
       fi

###############################################
# Loop which takes the time out to 120hr      #
# n is define as the number of day(s) back    #
###############################################

# for loop number 5 start
       for thr in 1 2 3 4 5
       do

         ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-$thr`
         d1=`echo $ndate | cut -c1-8`
         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 132 ]
         then
           cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbf$hr F${fcst}DAT
           cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbif$hr F${fcst}NDX
         fi

         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 132 ]
         then
           cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbf$hr F${fcst}DAT
           cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbif$hr F${fcst}NDX
         fi
       done
# for loop number 5 end

################################################
# Verifying GFS forecast against radiosondes   #
################################################

       pgm=hrly_sumac4
       export pgm;. prep_step

       export XLFUNIT_7="hrly_subarea.dic"
       export XLFUNIT_8="qcadp.$ct"
       export XLFUNIT_9="sm_namlst1"
       export XLFUNIT_10="hrly_verf_tab_$ct"
       export XLFUNIT_11="F000DAT"
       export XLFUNIT_12="F000NDX"
       export XLFUNIT_13="F012DAT"
       export XLFUNIT_14="F012NDX"
       export XLFUNIT_15="F024DAT"
       export XLFUNIT_16="F024NDX"
       export XLFUNIT_17="F036DAT"
       export XLFUNIT_18="F036NDX"
       export XLFUNIT_19="F048DAT"
       export XLFUNIT_20="F048NDX"
       export XLFUNIT_21="F060DAT"
       export XLFUNIT_22="F060NDX"
       export XLFUNIT_23="F072DAT"
       export XLFUNIT_24="F072NDX"
       export XLFUNIT_70="jetstats"
       export XLFUNIT_71="dlystats"

       $EXEChrly/hrly_sumac4 <sm_namlst2 1>sumac4_prt 2>sumac4_err
       export err=$?;err_chk

###########################################
# Append GFS printout and output files    #
###########################################

       if [ $ct -eq 00 ]
       then
         ID="02"
       elif [ $ct -eq 12 ]
       then
         ID="06"
       fi

       if test "$SENDCOM" = 'YES'
       then
         cp dlystats $DATA/dlystat_dat$mm$dd$ID
         export err=$?;err_chk
       fi
     fi
#end of if for gfs12

#start of if for gfs24
     if test "$nmodels" = 'gfs24'
     then

#####################################################
# Verifying GFS forecasts against radiosondes:      #
#     Computing S1 scores for 24 hours intervals:   #
#         000HR 024HR 048HR 072HR 096HR 120HR       #
#         144HR 168HR 192HR 216HR and 240HR         #
#####################################################

###########################
# Produce namelist file   #
###########################

cat <<\sumac2EOF >sm_namlst2
       &FILES   RPT=0, NFILE=11, FHR='F000','F024','F048',
             'F072','F096','F120','F144','F168','F192',
             'F216','F240',KRUN='LRG ',
       /
sumac2EOF

##################################
# Copying the forecasts fields   #
##################################

       cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbf00 F000DAT
       cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbif00 FOOONDX
       n=0

###############################################
# Loop which takes the time out to 240hr      #
# n is define as the number of day(s) back    #
###############################################

#for loop number 6 start
       for thr in 1 2 3 4 5 6 7 8 9 10
       do
         ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-$thr`
         d1=`echo $ndate | cut -c1-8`
         n=`expr $n + 1`
         fcst=`expr $n '*' 24`
         hr=`expr $n '*' 24`
         typeset -Z3 fcst

         cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf$hr F${fcst}DAT
         cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif$hr F${fcst}NDX

       done
#for loop number 6 end

       pgm=hrly_sumac4
       export pgm;. prep_step

       export XLFUNIT_7="hrly_subarea.dic"
       export XLFUNIT_8="qcadp.$ct"
       export XLFUNIT_9="sm_namlst1"
       export XLFUNIT_10="hrly_verf_tab_$ct"
       export XLFUNIT_11="F000DAT"
       export XLFUNIT_12="F000NDX"
       export XLFUNIT_13="F024DAT"
       export XLFUNIT_14="F024NDX"
       export XLFUNIT_15="F048DAT"
       export XLFUNIT_16="F048NDX"
       export XLFUNIT_17="F072DAT"
       export XLFUNIT_18="F072NDX"
       export XLFUNIT_19="F096DAT"
       export XLFUNIT_20="F096NDX"
       export XLFUNIT_21="F120DAT"
       export XLFUNIT_22="F120NDX"
       export XLFUNIT_23="F144DAT"
       export XLFUNIT_24="F144NDX"
       export XLFUNIT_25="F168DAT"
       export XLFUNIT_26="F168NDX"
       export XLFUNIT_27="F192DAT"
       export XLFUNIT_28="F192NDX"
       export XLFUNIT_29="F216DAT"
       export XLFUNIT_30="F216NDX"
       export XLFUNIT_31="F240DAT"
       export XLFUNIT_32="F240NDX"
       export XLFUNIT_70="jetstats"
       export XLFUNIT_71="dlystats"

       $EXEChrly/hrly_sumac4 <sm_namlst2 1>sumac4_prt 2>sumac4_err
       export err=$?;err_chk

       if [ $ct -eq 00 ]
       then
         ID="10"
       elif [ $ct -eq 12 ]
       then
         ID="14"
       fi

       if test "$SENDCOM" = 'YES'
       then
         cp dlystats $DATA/dlystat_dat$mm$dd$ID
         export err=$?;err_chk
       fi
     fi
#end of if for gfs24

#start of if for nam
     if test "$nmodels" = 'nam'
     then

############################################################
# Verifying the NAM forecasts against radiosondes          #
# Computing S1 Scores for NAM for 12 hours intervals       #
#   000HR 012HR 024HR 036HR 048HR 060HR 072HR and 084HR    #
############################################################

###########################
# Produce namelist file   #
###########################

cat <<\sumac2EOF >sm_namlst2
       &FILES   RPT=0, NFILE=8, FHR='F000','F012','F024',
             'F036','F048','F060','F072','F084',KRUN='REGL',
       /
sumac2EOF

#################################
# Computing S1 scores for NAM   #
#################################

       if [ $ct -eq 00 ]
       then
         cp $COMINnam/nam.$PDYm1/nam.t00z.grbgrd00.tm00 F000DAT
         cp $COMINnam/nam.$PDYm1/nam.t00z.grbgrdi00 F000NDX
         n=0
       else
         cp $COMINnam/nam.$PDYm1/nam.t12z.grbgrd00.tm00 F000DAT
         cp $COMINnam/nam.$PDYm1/nam.t12z.grbgrdi00 F000NDX
         cp $COMINnam/nam.$PDYm1/nam.t00z.grbgrd12.tm00 F012DAT
         cp $COMINnam/nam.$PDYm1/nam.t00z.grbgrdi12 F012NDX
         n=1
       fi

###############################################
# Loop which takes the time out to 84hr       #
# n is define as the number of day(s) back    #
###############################################

#for loop number 7 start
       for thr in 1 2 3 4
       do
         ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-$thr`
         d1=`echo $ndate`
         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 96 ]
         then
           cp $COMINnam/nam.${d1}/nam.t12z.grbgrd$hr.tm00 F${fcst}DAT
           cp $COMINnam/nam.${d1}/nam.t12z.grbgrdi$hr F${fcst}NDX
         fi

         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 96 ]
         then
           cp $COMINnam/nam.${d1}/nam.t00z.grbgrd$hr.tm00 F${fcst}DAT
           cp $COMINnam/nam.${d1}/nam.t00z.grbgrdi$hr F${fcst}NDX
         fi

       done
#for loop number 7 end

       pgm=hrly_sumac4
       export pgm;. prep_step

       export XLFUNIT_7="hrly_subarea.dic"
       export XLFUNIT_8="qcadp.$ct"
       export XLFUNIT_9="sm_namlst1"
       export XLFUNIT_10="hrly_verf_tab_$ct"
       export XLFUNIT_11="F000DAT"
       export XLFUNIT_12="F000NDX"
       export XLFUNIT_13="F012DAT"
       export XLFUNIT_14="F012NDX"
       export XLFUNIT_15="F024DAT"
       export XLFUNIT_16="F024NDX"
       export XLFUNIT_17="F036DAT"
       export XLFUNIT_18="F036NDX"
       export XLFUNIT_19="F048DAT"
       export XLFUNIT_20="F048NDX"
       export XLFUNIT_21="F060DAT"
       export XLFUNIT_22="F060NDX"
       export XLFUNIT_23="F072DAT"
       export XLFUNIT_24="F072NDX"
       export XLFUNIT_25="F084DAT"
       export XLFUNIT_26="F084NDX"
       export XLFUNIT_70=jetstats
       export XLFUNIT_71=dlystats

       $EXEChrly/hrly_sumac4 <sm_namlst2 1>sumac4_prt
       export err=$?;err_chk

###########################################
# Append NAM printout and output files    #
###########################################

       if [ $ct -eq 00 ]
       then
         ID="18"
       elif [ $ct -eq 12 ]
       then
         ID="22"
       fi

       if test "$SENDCOM" = 'YES'
       then
         cp dlystats $DATA/dlystat_dat$mm$dd$ID
         export err=$?;err_chk
       fi
     fi
#end of if for nam

#start of if for ukmet
     if test "$nmodels" = 'ukmet'
     then

############################################################
# Verifying UKM forecasts against radiosondes:             #
# Computing S1 Scores for UKMET for 12 hours intervals:    #
#    000HR 012HR 024HR 036HR 048HR 060HR and 072HR         #
############################################################

###########################
# Produce namelist file   #
###########################

cat <<\sumac2EOF >sm_namlst2
       &FILES   RPT=0, NFILE=7, FHR='F000','F012','F024',
             'F036','F048','F060','F072',KRUN='UKM ',
       /
sumac2EOF

##################################
# Copying the forecasts fields   #
##################################

       if [ $ct -eq 00 ]
       then
         cp $COMINukm/ukmet.$PDYm1/ukmet.t00z.ukmet00  F000DAT
         cp $COMINukm/ukmet.$PDYm1/ukmet.t00z.ukmeti00 F000NDX
         n=0
       else
         cp $COMINukm/ukmet.$PDYm1/ukmet.t12z.ukmet00  F000DAT
         cp $COMINukm/ukmet.$PDYm1/ukmet.t12z.ukmeti00 F000NDX
         cp $COMINukm/ukmet.$PDYm1/ukmet.t00z.ukmet12  F012DAT
         cp $COMINukm/ukmet.$PDYm1/ukmet.t00z.ukmeti12 F012NDX
         n=1
       fi

###############################################
# Loop which takes the time out to 72hr       #
# n is define as the number of day(s) back    #
###############################################

#for loop number 8 start 
       for thr in 1 2 3 4
       do
         ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-$thr`
         d1=`echo $ndate`
         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 084 ]
         then
           cp $COMINukm/ukmet.${d1}/ukmet.t12z.ukmet$hr  F${fcst}DAT
           cp $COMINukm/ukmet.${d1}/ukmet.t12z.ukmeti$hr F${fcst}NDX
         fi

         n=`expr $n + 1`
         fcst=`expr $n '*' 12`
         hr=`expr $n '*' 12`
         typeset -Z3 fcst

         if [ $fcst -lt 084 ]
         then
           cp $COMINukm/ukmet.${d1}/ukmet.t00z.ukmet$hr  F${fcst}DAT
           cp $COMINukm/ukmet.${d1}/ukmet.t00z.ukmeti$hr F${fcst}NDX
         fi

       done
#for loop number 8 end

       pgm=hrly_sumac4
       export pgm;. prep_step

       export XLFUNIT_7="hrly_subarea.dic"
       export XLFUNIT_8="qcadp.$ct"
       export XLFUNIT_9="sm_namlst1"
       export XLFUNIT_10="hrly_verf_tab_$ct"
       export XLFUNIT_11="F000DAT"
       export XLFUNIT_12="F000NDX"
       export XLFUNIT_13="F012DAT"
       export XLFUNIT_14="F012NDX"
       export XLFUNIT_15="F024DAT"
       export XLFUNIT_16="F024NDX"
       export XLFUNIT_17="F036DAT"
       export XLFUNIT_18="F036NDX"
       export XLFUNIT_19="F048DAT"
       export XLFUNIT_20="F048NDX"
       export XLFUNIT_21="F060DAT"
       export XLFUNIT_22="F060NDX"
       export XLFUNIT_23="F072DAT"
       export XLFUNIT_24="F072NDX"
       export XLFUNIT_70=jetstats
       export XLFUNIT_71=dlystats

       $EXEChrly/hrly_sumac4 <sm_namlst2 1>sumac4_prt
       export err=$?;err_chk

###########################################
# Append UKM printout and output files    #
###########################################

       if [ $ct -eq 00 ]
       then
         ID="26"
       elif [ $ct -eq 12 ]
       then
         ID="30"
       fi

       if test "$SENDCOM" = 'YES'
       then
         cp dlystats $DATA/dlystat_dat$mm$dd$ID
         export err=$?;err_chk
       fi
     fi
#end of if for ukmet

#start of if for jets
     if test "$nmodels" = 'jets'
     then

########################################################
#  VERIFYING 24 AND 36 HOURS JET FORECASTS FROM GFS    #
#  AND UKM WITH MINWND=41 m/s AND MINWND=61 m/s        #
########################################################

       cdate=$mm$dd

#############################
#   Produce namelist file   #
#############################

       i=1

#while loop number 1 start
       while [ $i -le 2 ]
       do

         if [ $i -eq 1 ]
         then
cat <<\sumac1EOF >sm_namlst1
           &OPTION  RPT=0, VDATE1=1991010100, VDATE2=9999123112,
             PRSTAT=.FALSE., WRSTAT=.FALSE., MINWND=41,
             MAXWND=150,  DIAG=.FALSE., INTPM=1,
           /
sumac1EOF
         elif [ $i -eq 2 ]
         then
cat <<\sumac1EOF >sm_namlst1
           &OPTION  RPT=0, VDATE1=1991010100, VDATE2=9999123112,
             PRSTAT=.FALSE., WRSTAT=.FALSE., MINWND=61,
             MAXWND=150,  DIAG=.FALSE., INTPM=1,
           /
sumac1EOF
         fi

         pgm=hrly_sumac4
         export pgm;. prep_step

         icn_jet=" gfs ukm "

#for loop number 9 start
         for nfile in $icn_jet
         do

           if test "$nfile" = 'gfs'
           then
             if [ $ct -eq 00 ]
             then
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t00z.pgrbf24 F024DAT
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t00z.pgrbif24 F024NDX
               cp $COMOUT_verf.$PDYm3/grib/ver.gfs.t12z.pgrbf36 F036DAT
               cp $COMOUT_verf.$PDYm3/grib/ver.gfs.t12z.pgrbif36 F036NDX
               IDS=$nfile$cdate"01"

cat <<\sumac2EOF >sm_namlst2
               &FILES   RPT=0, NFILE=2, FHR='F024', 'F036',KRUN='GFS1',
               /
sumac2EOF
             elif [ $ct -eq 12 ]
             then
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t12z.pgrbf24 F024DAT
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t12z.pgrbif24 F024NDX
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t00z.pgrbf36 F036DAT
               cp $COMOUT_verf.$PDYm2/grib/ver.gfs.t00z.pgrbif36 F036NDX
               IDS=$nfile$cdate"05"

cat <<\sumac2EOF >sm_namlst2
               &FILES   RPT=0, NFILE=2, FHR='F024', 'F036',KRUN='GFS2',
               /
sumac2EOF
             fi
           elif test "$nfile" = 'ukm'
           then
             if [ $ct -eq 00 ]
             then
               cp $COMINukm/ukmet.$PDYm2/ukmet.t00z.ukmet24 F024DAT
               cp $COMINukm/ukmet.$PDYm2/ukmet.t00z.ukmeti24 F024NDX
               cp $COMINukm/ukmet.$PDYm3/ukmet.t12z.ukmet36 F036DAT
               cp $COMINukm/ukmet.$PDYm3/ukmet.t12z.ukmeti36 F036NDX
               IDS=$nfile$cdate"09"

cat <<\sumac2EOF >sm_namlst2
               &FILES   RPT=0, NFILE=2, FHR='F024', 'F036',KRUN='UKM1',
               /
sumac2EOF
             elif [ $ct -eq 12 ]
             then
               cp $COMINukm/ukmet.$PDYm2/ukmet.t12z.ukmet24 F024DAT
               cp $COMINukm/ukmet.$PDYm2/ukmet.t12z.ukmeti24 F024NDX
               cp $COMINukm/ukmet.$PDYm2/ukmet.t00z.ukmet36 F036DAT
               cp $COMINukm/ukmet.$PDYm2/ukmet.t00z.ukmeti36 F036NDX
               IDS=$nfile$cdate"13"

cat <<\sumac2EOF >sm_namlst2
               &FILES   RPT=0, NFILE=2, FHR='F024', 'F036',KRUN='UKM2',
               /
sumac2EOF
             fi
           fi

           export XLFUNIT_7="hrly_subarea.dic"
           export XLFUNIT_8="qcadp.$ct"
           export XLFUNIT_9="sm_namlst1"
           export XLFUNIT_10="hrly_verf_tab_$ct"
           export XLFUNIT_11="F024DAT"
           export XLFUNIT_12="F024NDX"
           export XLFUNIT_13="F036DAT"
           export XLFUNIT_14="F036NDX"
           export XLFUNIT_70="jetstats"
           export XLFUNIT_71="dlystats"

           $EXEChrly/hrly_sumac4 <sm_namlst2 1>sumac4_prt 2>sumac4_err
           export err=$?;err_chk

###########################################
# Append GFS printout and output files    #
###########################################

           ID=$IDS

           if test "$SENDCOM" = 'YES'
           then
             cat jetstats >> $DATA/$IDS
             export err=$?;err_chk
           fi
         done
#for loop number 9 end

         i=`expr $i + 1 `
       done
#while loop number 1 end

     fi
#end of if for jets

   done
#for loop number 4 end

done
#for loop number 3 end

##############################################
# Joining the daily statistics to be used    #
# for the monthly averages                   #
##############################################

########################################
#  for winds 850, 500 and 250          #
#   GFS jets - 01 03 05 07             #
# UKMET jets - 09 11 13 15             #
#                                      #
# Now for the models being used        #
#   cyc   00 06 12 18                  #
# GFS12 - 02 04 06 08                  #
# GFS24 - 10 12 14 16                  #
#   NAM - 18 20 22 24                  #
# UKMET - 26 28 30 32                  #
########################################

##############
# 00Z cycle  #
##############

cat dlystat*02 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*10 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*18 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*26 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}

##############
# 12Z cycle  #
##############

cat dlystat*06 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*14 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*22 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
cat dlystat*30 | cat >> $COMOUT_SUMAC41/dly${yy}${mm}.${dd}
 
###############
#  minwnd=41  #
###############

cat gfs*01 | cat >> $COMOUT_SUMAC41/accumjetstat${yy}${mm}.${dd}
cat ukm*09 | cat >> $COMOUT_SUMAC41/accumjetstat${yy}${mm}.${dd}

##############
#  minwnd=61 #
##############

cat gfs*05 | cat >> $COMOUT_SUMAC41/accumjetstat${yy}${mm}.${dd}
cat ukm*13 | cat >> $COMOUT_SUMAC41/accumjetstat${yy}${mm}.${dd}

###########################################################
# End of generating SUMAC4 - Forecast against Radiosonde  #
# End of SECTION 2.                                       #
###########################################################

##########################################################
# SECTION 3. Verification of Forecast against Analyses   #
#            This is known as the ANLVER portion         #
##########################################################
 
cd $DATA

###############################
# Looping on the Cycle time   #
###############################

#for loop number 10 start
for ct in 00 12
do 

##############################################
# Setting the current time/cycle and month   #
##############################################

  export CURTIME=$PDYm1$ct
  echo $CURTIME > hrly_currdate.in
  echo $CURTIME > hrly_date.in
  export d0=`echo $PDYm1 | cut -c1-8`
  export MONTH=`echo $CURTIME | cut -c5-6`
  cp $FIXhrly/hrly_s1labels.in .
  cp $FIXhrly/hrly_limits.in .
  cp $FIXhrly/hrly_verif.in .

  icn_stats=" nam gfs12 gfs24 gfswnd gmslzt "

#for loop number 11 start
  for nstats in $icn_stats
  do

#start of if for nam stats
    if test "$nstats" = 'nam'
    then

########################################
# Copying forecast files from the NAM  #
########################################

      if [ $ct -eq 00 ] 
      then
        cp $COMINnam/nam.$PDYm1/nam.t00z.grb_fm00.tm00 GRIBAD0
        cp $COMINnam/nam.$PDYm1/nam.t00z.grb_fmi00 GRIBAI0
        n=0
      else
        cp $COMINnam/nam.$PDYm1/nam.t12z.grb_fm00.tm00 GRIBAD0
        cp $COMINnam/nam.$PDYm1/nam.t12z.grb_fmi00 GRIBAI0
        cp $COMINnam/nam.$PDYm1/nam.t00z.grb_fm12.tm00 GRIBFD1
        cp $COMINnam/nam.$PDYm1/nam.t00z.grb_fmi12 GRIBFI1
        n=1
      fi

###############################################
# Loop which takes the time out to 84hr       #
# n is define as the number of day(s) back    #
###############################################

#for loop number 12 start
      for thr in 1 2 3 4
      do
        ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-${thr}`
        d1=`echo $ndate`
        n=`expr $n + 1`
        fcst1=`expr $n '*' 12`

        if [ $fcst1 -lt 96 ]
        then
          cp $COMINnam/nam.${d1}/nam.t12z.grb_fm${fcst1}.tm00 GRIBFD${n}
          cp $COMINnam/nam.${d1}/nam.t12z.grb_fmi${fcst1} GRIBFI${n}
        fi

        n=`expr $n + 1`
        fcst1=`expr $n '*' 12`

        if [ $fcst1 -lt 96 ]
        then
          cp $COMINnam/nam.${d1}/nam.t00z.grb_fm${fcst1}.tm00 GRIBFD${n}
          cp $COMINnam/nam.${d1}/nam.t00z.grb_fmi${fcst1} GRIBFI${n}
        fi
      done
#for loop number 12 end
 
      pgm=hrly_s1daily
      export pgm;. prep_step

      export XLVUNIT_10="hrly_date.in"
      export XLFUNIT_11="hrly_currdate.in"
      export XLFUNIT_12="hrly_s1labels.in"
      export XLFUNIT_13="$FIXhrly/hrly_nam.in"
      export XLFUNIT_14="hrly_limits.in"
      export XLFUNIT_18="hrly_verif.in"
      export XLFUNIT_20="GRIBAD0"
      export XLFUNIT_21="GRIBAI0"
      export XLFUNIT_22="GRIBFD1"
      export XLFUNIT_23="GRIBFI1"
      export XLFUNIT_24="GRIBFD2"
      export XLFUNIT_25="GRIBFI2"
      export XLFUNIT_26="GRIBFD3"
      export XLFUNIT_27="GRIBFI3"
      export XLFUNIT_28="GRIBFD4"
      export XLFUNIT_29="GRIBFI4"
      export XLFUNIT_30="GRIBFD5"
      export XLFUNIT_31="GRIBFI5"
      export XLFUNIT_32="GRIBFD6"
      export XLFUNIT_33="GRIBFI6"
      export XLFUNIT_34="GRIBFD7"
      export XLFUNIT_35="GRIBFI7"
      export XLFUNIT_60="$COMOUT_ANLVER_FCST1/$CURTIME.nam.out"

      OUT2=$COMOUT_ANLVER_FCST1/$CURTIME.nam.out
      echo "EXECUTING"
      $EXEChrly/hrly_s1daily  > $COMOUT_ANLVER_FCST1/s1nam.$CURTIME
      cat $OUT2 >> $COMOUT_ANLVER_DATA1/NAM.$MONTH.in
      rm GRIB* fort*
      echo "End of the NAM model."
 
    fi
#end of if for nam stats

#start of if for gfs12 stats
    if test "$nstats" = 'gfs12'
    then

#############################################
# Copying  GFS files for 12 hour intervals  #
#############################################

      if [ $ct -eq 00 ]
      then
        cp $COMOUT/grib/ver.gfs.t00z.pgrbanl GRIBAD0
        cp $COMOUT/grib/ver.gfs.t00z.pgrbianl GRIBAI0
        n=0
      else
        cp $COMOUT/grib/ver.gfs.t12z.pgrbanl GRIBAD0
        cp $COMOUT/grib/ver.gfs.t12z.pgrbianl GRIBAI0
        cp $COMOUT/grib/ver.gfs.t00z.pgrbf12 GRIBFD1
        cp $COMOUT/grib/ver.gfs.t00z.pgrbif12 GRIBFI1
        n=1
      fi

###############################################
# Loop which takes the time out to 120hr      #
# n is define as the number of day(s) back    #
###############################################

#for loop number 13 start
      for thr in 1 2 3 4 5
      do
        ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-$thr`
        d1=`echo $ndate | cut -c1-8`
        n=`expr $n + 1`
        fcst1=`expr $n '*' 12`

        if [ $fcst1 -lt 120 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbf${fcst1} GRIBFD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbif${fcst1} GRIBFI$n
        fi

        if [ $fcst1 -eq 120 ] && [ $ct -eq 12 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbf${fcst1} GRIBFDL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t12z.pgrbif${fcst1} GRIBFIL
        fi

        n=`expr $n + 1`
        fcst1=`expr $n '*' 12`

        if [ $fcst1 -lt 120 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbf${fcst1} GRIBFD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbif${fcst1} GRIBFI$n
        fi

        if [ $fcst1 -eq 120 ] && [ $ct -eq 00 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbf${fcst1} GRIBFDL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t00z.pgrbif${fcst1} GRIBFIL
        fi
      done
#for loop number 13 end
 
      pgm=hrly_s1daily
      export pgm;. prep_step

      export XLFUNIT_10="hrly_date.in"
      export XLFUNIT_11="hrly_currdate.in"
      export XLFUNIT_12="hrly_s1labels.in"
      export XLFUNIT_13="$FIXhrly/hrly_gfs.in"
      export XLFUNIT_14="hrly_limits.in"
      export XLFUNIT_18="hrly_verif.in"
      export XLFUNIT_20="GRIBAD0"
      export XLFUNIT_21="GRIBAI0"
      export XLFUNIT_22="GRIBFD1"
      export XLFUNIT_23="GRIBFI1"
      export XLFUNIT_24="GRIBFD2"
      export XLFUNIT_25="GRIBFI2"
      export XLFUNIT_26="GRIBFD3"
      export XLFUNIT_27="GRIBFI3"
      export XLFUNIT_28="GRIBFD4"
      export XLFUNIT_29="GRIBFI4"
      export XLFUNIT_30="GRIBFD5"
      export XLFUNIT_31="GRIBFI5"
      export XLFUNIT_32="GRIBFD6"
      export XLFUNIT_33="GRIBFI6"
      export XLFUNIT_34="GRIBFD7"
      export XLFUNIT_35="GRIBFI7"
      export XLFUNIT_36="GRIBFD8"
      export XLFUNIT_37="GRIBFI8"
      export XLFUNIT_38="GRIBFD9"
      export XLFUNIT_39="GRIBFI9"
      export XLFUNIT_40="GRIBFDL"
      export XLFUNIT_41="GRIBFIL"
      export XLFUNIT_60="$COMOUT_ANLVER_FCST1/$CURTIME.gfs.out"

      OUT2=$COMOUT_ANLVER_FCST1/$CURTIME.gfs.out
      echo EXECUTING
      $EXEChrly/hrly_s1daily  > $COMOUT_ANLVER_FCST1/s1gfs.$CURTIME
      rm GRIB* fort*
      cat $OUT2 >> $COMOUT_ANLVER_DATA1/GFS.$MONTH.in
      echo "End of the GFS model (every 12hr)"

    fi
#end of if for gfs12 stats

#start of if for gfs24 stats
    if test "$nstats" = 'gfs24'
    then

##############################################################
# Copying GFS Forecast fields for 24 hour intervals (GFSM)   #
##############################################################

      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbanl GRIBAD0
      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbianl GRIBAI0
      n=0

###############################################
# Loop which takes the time out to 240hr      #
# n is define as the number of day(s) back    #  
###############################################

#for loop number 14 start
      for thr in 1 2 3 4 5 6 7 8 9 10
      do
        ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-${thr}`
        d1=`echo $ndate | cut -c1-8`
        n=`expr $n + 1`
        fcst1=`expr $n '*' 24`

        if [ $fcst1 -lt 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFI$n
        fi

        if [ $fcst1 -eq 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFDL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFIL
        fi
      done
#for loop number 14 end

      pgm=hrly_s1daily
      export pgm;. prep_step

      export XLFUNIT_10="hrly_date.in"
      export XLFUNIT_11="hrly_currdate.in"
      export XLFUNIT_12="hrly_s1labels.in"
      export XLFUNIT_13="$FIXhrly/hrly_gfsm.in"
      export XLFUNIT_14="hrly_limits.in"
      export XLFUNIT_18="hrly_verif.in"
      export XLFUNIT_20="GRIBAD0"
      export XLFUNIT_21="GRIBAI0"
      export XLFUNIT_22="GRIBFD1"
      export XLFUNIT_23="GRIBFI1"
      export XLFUNIT_24="GRIBFD2"
      export XLFUNIT_25="GRIBFI2"
      export XLFUNIT_26="GRIBFD3"
      export XLFUNIT_27="GRIBFI3"
      export XLFUNIT_28="GRIBFD4"
      export XLFUNIT_29="GRIBFI4"
      export XLFUNIT_30="GRIBFD5"
      export XLFUNIT_31="GRIBFI5"
      export XLFUNIT_32="GRIBFD6"
      export XLFUNIT_33="GRIBFI6"
      export XLFUNIT_34="GRIBFD7"
      export XLFUNIT_35="GRIBFI7"
      export XLFUNIT_36="GRIBFD8"
      export XLFUNIT_37="GRIBFI8"
      export XLFUNIT_38="GRIBFD9"
      export XLFUNIT_39="GRIBFI9"
      export XLFUNIT_40="GRIBFDL"
      export XLFUNIT_41="GRIBFIL"
      export XLFUNIT_60="$COMOUT_ANLVER_FCST1/$CURTIME.gfsm.out"

      OUT2=$COMOUT_ANLVER_FCST1/$CURTIME.gfsm.out
      echo "EXECUTING"
      $EXEChrly/hrly_s1daily  > $COMOUT_ANLVER_FCST1/s1gfsm.$CURTIME
      cat $OUT2  >> $COMOUT_ANLVER_DATA1/GFL.$MONTH.in
      rm GRIB* fort*
      echo "End of the GFSM (every 24hr)"

    fi
#end of if for gfs24 stats

#start of if for gfswnd stats
    if test "$nstats" = 'gfswnd'
    then

##################################################################
# Verifying WMO STANDARD VERIFICATION SCORES WMOW FOR GFS WINDS  #
##################################################################

#################################################################
#  Forecast grib and index files have already been generated    # 
#  from the above step GFS 24 hour (GFSM)                       # 
#################################################################
 
      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbanl GRIBAD0
      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbianl GRIBAI0
      n=0

###############################################
# Loop which takes the time out to 240hr      #
# n is define as the number of day(s) back    #
###############################################

#for loop number 15 start
      for thr in 1 2 3 4 5 6 7 8 9 10
      do
        ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-${thr}`
        d1=`echo $ndate | cut -c1-8`
        n=`expr $n + 1`
        fcst1=`expr $n '*' 24`

        if [ $fcst1 -lt 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFI$n
        fi

        if [ $fcst1 -eq 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFDL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFIL
        fi
      done
#for loop number 15 end 

      pgm=hrly_wmow
      export pgm;. prep_step

      export XLFUNIT_11="hrly_currdate.in"
      export XLFUNIT_12="$FIXhrly/hrly_wndlabels.in"
      export XLFUNIT_13="$FIXhrly/hrly_wgfs.in"
      export XLFUNIT_14="$FIXhrly/hrly_gfsareas.in"
      export XLFUNIT_20="GRIBAD0"
      export XLFUNIT_25="GRIBAI0"
      export XLFUNIT_31="GRIBFD1"
      export XLFUNIT_51="GRIBFI1"
      export XLFUNIT_32="GRIBFD2"
      export XLFUNIT_52="GRIBFI2"
      export XLFUNIT_33="GRIBFD3"
      export XLFUNIT_53="GRIBFI3"
      export XLFUNIT_34="GRIBFD4"
      export XLFUNIT_54="GRIBFI4"
      export XLFUNIT_35="GRIBFD5"
      export XLFUNIT_55="GRIBFI5"
      export XLFUNIT_36="GRIBFD6"
      export XLFUNIT_56="GRIBFI6"
      export XLFUNIT_37="GRIBFD7"
      export XLFUNIT_57="GRIBFI7"
      export XLFUNIT_38="GRIBFD8"
      export XLFUNIT_58="GRIBFI8"
      export XLFUNIT_39="GRIBFD9"
      export XLFUNIT_59="GRIBFI9"
      export XLFUNIT_40="GRIBFDL"
      export XLFUNIT_60="GRIBFIL"

###################
#  output files   #
###################

      export XLFUNIT_70="$COMOUT_ANLVER_DATA1/w850"
      export XLFUNIT_71="$COMOUT_ANLVER_DATA1/w500"
      export XLFUNIT_72="$COMOUT_ANLVER_DATA1/w250"

      OUT2=$COMOUT_ANLVER_DATA1/w850
      OUT3=$COMOUT_ANLVER_DATA1/w500
      OUT4=$COMOUT_ANLVER_DATA1/w250
      export OUT2 OUT3 OUT4
      echo "EXECUTING"
      $EXEChrly/hrly_wmow  > $COMOUT_ANLVER_FCST1/wgfs.$CURTIME
      echo "MONTH = $MONTH"
      rm fort* GRIB*

      cat $OUT2 >> $COMOUT_ANLVER_DATA1/$MONTH.w850.in${ct}
      cat $OUT3 >> $COMOUT_ANLVER_DATA1/$MONTH.w500.in${ct}
      cat $OUT4 >> $COMOUT_ANLVER_DATA1/$MONTH.w250.in${ct}
      rm $OUT2 $OUT3 $OUT4

      echo "End of the WMOW  wind calculations"

    fi
#end of if for gfswnd stats

#start of if for gmslzt stats
    if test "$nstats" = 'gmslzt'
    then

#######################################################################
# Verifying WMO STANDARD VERIFICATION SCORES WMOX FOR GFS MSLP, Z, T  #
#######################################################################

###############################################
# Loop which takes the time out to 240hr      #
# n is define as the number of day(s) back    #
###############################################

      n=0
      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbanl GRIBAD0
      cp $COMOUT/grib/ver.gfs.t${ct}z.pgrbianl GRIBAI0

#for loop number 16 start
      for thr in 1 2 3 4 5 6 7 8 9 10
      do
        ndate=`/nwprod/util/ush/finddate.sh $PDYm1 d-${thr}`
        d1=`echo $ndate | cut -c1-8`
        n=`expr $n + 1`
        fcst1=`expr $n '*' 24`

        if [ $fcst1 -lt 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFI$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbanl GRIBAD$n
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbianl GRIBAI$n
        fi

        if [ $fcst1 -eq 240 ]
        then
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbf${fcst1} GRIBFDL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbif${fcst1} GRIBFIL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbanl GRIBADL
          cp $COMOUT_verf.$d1/grib/ver.gfs.t${ct}z.pgrbianl GRIBAIL
        fi
      done
#for loop number 16 end
 
      pgm=hrly_wmox
      export pgm;. prep_step

      export XLFUNIT_11="hrly_currdate.in"
      export XLFUNIT_12="$FIXhrly/hrly_wmolabels.in"
      export XLFUNIT_13="$FIXhrly/hrly_xgfs.in"
      export XLFUNIT_20="GRIBAD0"
      export XLFUNIT_25="GRIBAI0"
      export XLFUNIT_31="GRIBFD1"
      export XLFUNIT_51="GRIBFI1"
      export XLFUNIT_41="GRIBAD1"
      export XLFUNIT_61="GRIBAI1"
      export XLFUNIT_32="GRIBFD2"
      export XLFUNIT_52="GRIBFI2"
      export XLFUNIT_42="GRIBAD2"
      export XLFUNIT_62="GRIBAI2"
      export XLFUNIT_33="GRIBFD3"
      export XLFUNIT_53="GRIBFI3"
      export XLFUNIT_43="GRIBAD3"
      export XLFUNIT_63="GRIBAI3"
      export XLFUNIT_34="GRIBFD4"
      export XLFUNIT_54="GRIBFI4"
      export XLFUNIT_44="GRIBAD4"
      export XLFUNIT_64="GRIBAI4"
      export XLFUNIT_35="GRIBFD5"
      export XLFUNIT_55="GRIBFI5"
      export XLFUNIT_45="GRIBAD5"
      export XLFUNIT_65="GRIBAI5"
      export XLFUNIT_36="GRIBFD6"
      export XLFUNIT_56="GRIBFI6"
      export XLFUNIT_46="GRIBAD6"
      export XLFUNIT_66="GRIBAI6"
      export XLFUNIT_37="GRIBFD7"
      export XLFUNIT_57="GRIBFI7"
      export XLFUNIT_47="GRIBAD7"
      export XLFUNIT_67="GRIBAI7"
      export XLFUNIT_38="GRIBFD8"
      export XLFUNIT_58="GRIBFI8"
      export XLFUNIT_48="GRIBAD8"
      export XLFUNIT_68="GRIBAI8"
      export XLFUNIT_39="GRIBFD9"
      export XLFUNIT_59="GRIBFI9"
      export XLFUNIT_49="GRIBAD9"
      export XLFUNIT_69="GRIBAI9"
      export XLFUNIT_40="GRIBFDL"
      export XLFUNIT_60="GRIBFIL"
      export XLFUNIT_50="GRIBADL"
      export XLFUNIT_70="GRIBAIL"

##################
#  output files  #
##################

      export XLFUNIT_71="$COMOUT_ANLVER_DATA1/xmslp"
      export XLFUNIT_72="$COMOUT_ANLVER_DATA1/x850z"
      export XLFUNIT_73="$COMOUT_ANLVER_DATA1/x850t"
      export XLFUNIT_74="$COMOUT_ANLVER_DATA1/x500z"
      export XLFUNIT_75="$COMOUT_ANLVER_DATA1/x500t"
      export XLFUNIT_76="$COMOUT_ANLVER_DATA1/x250z"
      export XLFUNIT_77="$COMOUT_ANLVER_DATA1/x250t"

      OUT2=$COMOUT_ANLVER_DATA1/xmslp
      OUT3=$COMOUT_ANLVER_DATA1/x850z
      OUT4=$COMOUT_ANLVER_DATA1/x850t
      OUT5=$COMOUT_ANLVER_DATA1/x500z
      OUT6=$COMOUT_ANLVER_DATA1/x500t
      OUT7=$COMOUT_ANLVER_DATA1/x250z
      OUT8=$COMOUT_ANLVER_DATA1/x250t
      export OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
      echo "EXECUTING"
      $EXEChrly/hrly_wmox  > $COMOUT_ANLVER_FCST1/xgfs.$CURTIME
      echo "MONTH = $MONTH"

      cat $OUT2 >> $COMOUT_ANLVER_DATA1/$MONTH.xmslp.in${ct}
      cat $OUT3 >> $COMOUT_ANLVER_DATA1/$MONTH.x850z.in${ct}
      cat $OUT4 >> $COMOUT_ANLVER_DATA1/$MONTH.x850t.in${ct}
      cat $OUT5 >> $COMOUT_ANLVER_DATA1/$MONTH.x500z.in${ct}
      cat $OUT6 >> $COMOUT_ANLVER_DATA1/$MONTH.x500t.in${ct}
      cat $OUT7 >> $COMOUT_ANLVER_DATA1/$MONTH.x250z.in${ct}
      cat $OUT8 >> $COMOUT_ANLVER_DATA1/$MONTH.x250t.in${ct}
      rm $OUT2 $OUT3 $OUT4 $OUT5 $OUT6 $OUT7 $OUT8
      rm fort* GRIB*

      echo "End of the WMOX calculations"

    fi
#end of if for gmslzt stats

  done
#for loop number 11 end

done
#for loop number 10 end

###########################################################
# End of generating ANLVER - Forecast against Analyses    #
# End of SECTION 3.                                       #
###########################################################

##########################################################
# SECTION 4. Daily statistics for the Monthly Quality    #
#            Monitoring Report - Input argument is       #
#            prepbufr file for a given cycle             #
#            This is known as the QCMON portion          #
##########################################################

cd $DATA

###############################
# Looping on the Cycle time   #
###############################

#for loop number 17 start
for ct in 00 06 12 18
do

  if [ -f $COMIN/gdas1.t${ct}z.prepbufr ]; then
    cp $COMIN/gdas1.t${ct}z.prepbufr $DATA/bufr
    export err=$?; err_chk
  else
    echo "Prepbufr file not found"
    err=1
    export err=$?; err_chk
  fi

########################
# upper air data type  #
########################

  data=`echo uair`
  echo ${data} > datatype

  export XLFRTEOPTS="unit_vars=yes"

  pgm="hrly_qcmon"
  export pgm;. prep_step

  export XLFUNIT_10="bufr"
  export XLFUNIT_15="qcacr"

  startmsg
  timex $EXEChrly/hrly_qcmon < datatype 1> qcaircar.out 2> qcaircar.err
  export err=$?; err_chk

  cat qcacr >> $COMOUT_QCMON1/qcacr$mm$dd

  pgm="hrly_qcmon"
  export pgm;. prep_step

  export XLFUNIT_10="bufr"
  export XLFUNIT_20="qcair"
  export XLFUNIT_25="qcasd"

  startmsg
  timex $EXEChrly/hrly_qcmon < datatype 1> qcaircft.out 2> qcaircft.err
  export err=$?; err_chk
  cat qcair >> $DATA/qcair$dd
  cat qcasd >> $DATA/qcasd$dd

  pgm="hrly_qcmon"
  export pgm;. prep_step

  export XLFUNIT_10="bufr"
  export XLFUNIT_30="qcsatw"

  startmsg
  timex $EXEChrly/hrly_qcmon < datatype 1> qcsatwnd.out 2> qcsatwnd.err
  export err=$?; err_chk
  cat qcsatw >> $COMOUT_QCMON1/qcsatw$mm$dd

  echo "Sort aircraft and asdar files to remove duplicates"

  sort +0 -6 qcair$dd > sort1
  sort -um +1 -6 sort1 > sort2
  cat sort2 >> $COMOUT_QCMON1/qcair$mm$dd
  rm -f sort1 sort2 qcair$dd

  sort +0 -6 qcasd$dd > sort3
  sort -um +1 -6 sort3 > sort4
  cat sort4 >> $COMOUT_QCMON1/qcasd$mm$dd
  rm -f sort3 sort4 qcasd$dd

  if [ $ct -eq 00 -o $ct -eq 12 ]
  then

    pgm="hrly_qcmon"
    export pgm;. prep_step

    export XLFUNIT_10="bufr"
    export XLFUNIT_34="qcraob$ct"

    startmsg
    timex $EXEChrly/hrly_qcmon < datatype 1> asraob  2> qcraob.err
    export err=$?; err_chk
    cat qcraob${ct}  >> $COMOUT_QCMON1/qcraob$mm$dd
    cat asraob >> $COMOUT_QCMON1/asraob$mm$dd
  fi

done
#for loop number 17 end

#############################################################################
# This generates U and V components of the wind base upon daily shipbase    #
# radiosondes observations minus the first guess increment at 00Z and 12Z   #
# for the monthly Quality Monitoring Report.                                #
#############################################################################
 
#for loop number 18 start
for ct in 00 12
do

  if [ -f $COMIN/gdas1.t${ct}z.prepbufr ]; then
    cp $COMIN/gdas1.t${ct}z.prepbufr $DATA/bufr
    export err=$?; err_chk
  else
    echo "Prepbufr file not found"
    err=1
    export err=$?; err_chk
  fi

  data=`echo ship`
  echo ${data} > datatype

  pgm="hrly_qcmon"
  export pgm;. prep_step

  export XLFUNIT_12="bufr"
  export XLFUNIT_24="shipraob${ct}"

  startmsg
  timex $EXEChrly/hrly_qcmon < datatype 1> shipraob.out 2> shipraob.err
  export err=$?; err_chk

  cat shipraob${ct} >> $COMOUT_QCMON1/qcship$mm$dd
  cat shipraob.out >> $COMOUT_QCMON1/shipout$mm$dd

done
#for loop number 18 end

###########################################################
# End of generating Upperair and Shipbase observations    #
# which makes up the Quality Monitoring Report            #
# End of SECTION 4.                                       #
###########################################################

#######################################################
# SECTION 5. Bill Collins' CQC  monthly verification  #
#            This script copies the following files:  #
#                gdas1.t${cyc}z.cqc_events,           #
#                gdas1.t${cyc}z.cqc_stncnt,           #
#                and gdas1.t${cyc}z.cqc_ stnlst       #
#            files for 00z, 06z, 12z & 18z            #
#######################################################

###############################
# Looping on the Cycle time   #
###############################

#for loop number 19 start
for ct in 00 06 12 18
do
  cp $COMIN/gdas1.t${ct}z.cqc_events  $DATABASEcqcht/cqc_${YYYY}${mm}${dd}${ct}_events.fnl

  cp $COMIN/gdas1.t${ct}z.cqc_stncnt  $DATABASEcqcht/cqc_${YYYY}${mm}${dd}${ct}_stncnt.fnl

  cp $COMIN/gdas1.t${ct}z.cqc_stnlst  $DATABASEcqcht/cqc_${YYYY}${mm}${dd}${ct}_stnlst.fnl

done
#for loop number 19 end

#################################################
# End of generating CQC monthly verification    #
# which provides 1 table for the Quality        #
# Monitoring Report                             #
# End of SECTION 5.                             #
#################################################

msg="verf_daily_stats.sh completed normally"
postmsg "$jlogfile" "$msg"

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

#--------------- end script verf_daily_stats.sh ---------------------
