###########################################################################################################
# Script: fnmocens_avgspr.sh
# Abstract: this script produces mean and spread of FNMOC ensemble forecast
# Author: Richard Wobus ---- March 2006 ( Ensemble Postprocessina Script, exgefs_ensstat.sh.sms )  
# Modified by: Bo Cui   ---- May 2010
###########################################################################################################

cd $DATA

#---------------------------------------
#  calculate ensemble mean and spread
#---------------------------------------

hourlist=" 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"

memberlist="p01 p02 p03 p04 p05 p06 p07 p08 p09 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20"

#######################################
# define control parameters
# no enspost files produced, nenspost=0
#######################################

lfm=66000
nenspost=0

######################################################
# start mean and spread calculation for each lead time
######################################################

for nfhrs in $hourlist
do

( echo " &namdim" >namin_avgspr_${nfhrs}
  echo " lfdim=${lfm}," >>namin_avgspr_${nfhrs}
  echo " /" >>namin_avgspr_${nfhrs}
  echo " &namens" >>namin_avgspr_${nfhrs}

  ifile=0
  for mem in $memberlist
  do
    echo $COMIN/fnmoc_ge${mem}.t${cyc}z.pgrbaf${nfhrs}
    if [ -s $COMIN/fnmoc_ge${mem}.t${cyc}z.pgrbaf${nfhrs} ]; then
      (( ifile = ifile + 1 ))
      iskip=0
      if [ "$mem" = "c00" ]; then
        iskip=1
      fi
      echo " cfipg($ifile)='$COMIN/fnmoc_ge${mem}.t${cyc}z.pgrbaf${nfhrs}'," >>namin_avgspr_${nfhrs}
      echo " iskip($ifile)=${iskip}," >>namin_avgspr_${nfhrs}
    fi
  done

  echo " nfiles=${ifile}," >>namin_avgspr_${nfhrs}
  echo " nenspost=${nenspost}," >>namin_avgspr_${nfhrs}

  echo " cfoag='fnmoc_geavg.t${cyc}z.pgrbaf${nfhrs}'," >>namin_avgspr_${nfhrs}
  echo " cfosg='fnmoc_gespr.t${cyc}z.pgrbaf${nfhrs}'," >>namin_avgspr_${nfhrs}

  echo " inindxf=.false.," >>namin_avgspr_${nfhrs}

  echo " /" >>namin_avgspr_${nfhrs}

  startmsg
  $EXECGEFS/gefs_ensstat <namin_avgspr_${nfhrs} > $pgmout.${nfhrs}_avgspr  2> errfile

  export err=$?;err_chk ) &

done

wait

if [ "$SENDCOM" = "YES" ]; then
  for nfhrs in $hourlist
  do
    if [ -s fnmoc_geavg.t${cyc}z.pgrbaf$nfhrs ]; then
      mv fnmoc_geavg.t${cyc}z.pgrbaf$nfhrs  $COMOUT/
    fi
    if [ -s fnmoc_gespr.t${cyc}z.pgrbaf$nfhrs ]; then
      mv fnmoc_gespr.t${cyc}z.pgrbaf$nfhrs  $COMOUT/
    fi
  done
fi

set +x
echo " "
echo "Leaving sub script fnmocens_avgspr.sh"
echo " "
set -x

