#####################################################################
echo "------------------------------------------------"
echo "JFNMOCENS - FNMOC ENS postprocessing"
echo "------------------------------------------------"
echo "History: MAR 2008 - FNMOC ENS processing based off "
echo "                    of NOGAPS prdgen process       "
echo "History: JUL 2010 - Redesigned for GRIB2 datasets  "
#####################################################################
set -x
cd $DATA

##########################################
#
# START FLOW OF CONTROL
#
# 1) Get the Date from /com/date
# 2) Convert GRIB2 files to GRIB1.
#
#########################################

########################################
set -x
msg="HAS BEGUN!"
postmsg "$jlogfile" "$msg"
########################################

set +x
echo " "
echo "#########################################"
echo " Check to see if all FNMOC ENS GRIB2 data"
echo " is available in /dcom                   "
echo "#########################################"
echo " "
set -x

INPUT_DIR=${dcom}/${PDY}/wgrbbul/fnmocens_gb2


EXPECTED_FILES=${FIXgrib}/fnmoc_ens_gb2.tbl
icnt=0

# Process for each ensemble member

for MEMBER in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
do

  #  Build table based on current date

  date_cycle=${PDY}${CYC}
  sed -e "s/YYYYMMDDCC/${date_cycle}/" $EXPECTED_FILES > ${DATA}/FNMOC_ENS_TBL
  sed -e "s/YYYYMMDD/${PDY}/" ${DATA}/FNMOC_ENS_TBL > ${DATA}/FNMOC_ENS_TBL_${PDY}
  sed -e "s/MM/${MEMBER}/" ${DATA}/FNMOC_ENS_TBL_${PDY} > ${DATA}/FNMOC_ENS_TBL_${MEMBER}
  
  while [ $icnt -le 3 ]
  do
    #  Check to see if all missing files are available

#    ${USHutil}/check_for_file_list.pl ${DATA}/FNMOC_ENS_TBL_${MEMBER}

    # status=$?

    if [ $status -ne 0 ]
    then
      set +x
      echo " "
      echo "#########################################"
      echo " FNMOC ENS files are missing from        "
      echo " ${INPUT_DIR}                            "
      echo "#########################################"
      echo " "
      set -x
      sleep 900
      icnt=`expr $icnt + 1`
    else
      echo "We have all the files and are ready to process"
      break
    fi 
   done

   if [ $icnt -eq 4 ]
   then 
      set +x
      echo " "
      echo "#########################################"
      echo " Waited for 1 hour, all files are not    "
      echo " available in ${INPUT_DIR}, for          "
      echo " Cycle = ${CYC}; exiting                 "
      echo "#########################################"
      echo " "
      set -x

    #     Exit with error

#      export err=1
#      ${utilscript}/err_chk.sh 
   fi  
  
  # Process each forecast hour

   for FH in 00 06 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 168 174 180 186 192 198 204 210 216 222 228 234 240 246 252 258 264 270 276 282 288 294 300 306 312 318 324 330 336 342 348 354 360 366 372 378 384
   do

     # Build file names 

     GRIB1_name=fnmoc_gep${MEMBER}.t${CYC}z.pgrbaf${FH}

     if [ `echo ${#FH}` -eq 2 ]
     then  
       GRIB2_name=ENSEMBLE.MET.fcst_et0${MEMBER}.0${FH}.${PDY}${CYC}
     else
       GRIB2_name=ENSEMBLE.MET.fcst_et0${MEMBER}.${FH}.${PDY}${CYC}
     fi
 
     if [ ! -e ${COMOUT}/${GRIB1_name} ]; then

       # Convert GRIB2 data to GRIB1

       ${EXECutil}/cnvgrib -g21 ${INPUT_DIR}/${GRIB2_name} ${DATA}/${GRIB1_name}

#       export err=$?

#       export err=`expr $err + $?`
#       ${utilscript}/err_chk.sh
      
       # Move to COMOUT directory

       if test "$SENDCOM" = 'YES'
       then
         cp ${DATA}/${GRIB1_name} ${COMOUT}/${GRIB1_name}
#         export err=`expr $err + $?`
       fi
          
       rm ${DATA}/${GRIB1_name}

#       ${utilscript}/err_chk.sh
  
       # Send DBNet alert
    
       if test "$SENDDBN" = 'YES'
       then
         $DBNROOT/bin/dbn_alert MODEL FNMOC_ENS_GRIB fnmocens_prdgen $COMOUT/${GRIB1_name}
         $DBNROOT/bin/dbn_alert MODEL FNMOC_ENS_GB2 fnmocens_prdgen ${INPUT_DIR}/${GRIB2_name}
       fi
     fi
   done 
done  

#  check if any problems with processing

# ${utilscript}/err_chk.sh




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


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

############## END OF SCRIPT #######################