#!/bin/sh

###############################################################################
####  UNIX Script Documentation Block                                         #
#                                                                             #
# Script name:         rtofs_tmp2com.sh                                       #
# Script description:                                                         #
#                                                                             #
# Author:        Ilya Rivin       Org: NP23         Date: 2012-03-03          #
#                                                                             #
# Abstract: This is the post-processing script for RTOFS_ET_WPAB              #
#                                                                             #
# Sub-scripts called:                                                         #
#                                                                             # 
#                                                                             #
#                                                                             #
# Script history log:                                                         #
# 2012-03-14  Hae-Cheol Kim
#                                                                             #
###############################################################################

set -xa

echo "*** Started script $0 on hostname "`hostname`' at time '`date`

cd $DATA

if [ ${RUN_MODE} = 'analysis' ] ; then
  mode=n
else
  mode=f
fi
NPROCS=${NPROCS:-1}
if [ $NPROCS -gt 1 ]
then
  rm -f cmdfile_tmp* cmdfile.*
  export MP_PGMMODEL=mpmd
fi
#
# Write archive files copying commands in CMD
#
export syyyyddd=`$utilscript/date2jday.sh $srtdate`
export syyyy=`echo $syyyyddd | cut -c -1-4`
export sddd=`echo $syyyyddd | cut -c -5-7`
export eyyyyddd=`$utilscript/date2jday.sh $enddate`
export eyyyy=`echo $eyyyyddd | cut -c -1-4`
export eddd=`echo $eyyyyddd | cut -c -5-7`

##hCk#######
for hh in 00 06 12 18 
do
  if [ ${hh} = 00 ] && [ ${RUN_MODE} = 'analysis' ] 
  then 
     cp archv.${eyyyy}_${eddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.a >> cmdfile_tmp_a
     cp archv.${eyyyy}_${eddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.b >> cmdfile_tmp_b
  elif [ ${hh} != 00 ] && [ ${RUN_MODE} = 'analysis' ] 
  then
     let "hh2=24-$hh"
     hh2=`printf %2.2i $hh2`
     cp archv.${syyyy}_${sddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}-${hh2}.archv.a >> cmdfile_tmp_a
     cp archv.${syyyy}_${sddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}-${hh2}.archv.b >> cmdfile_tmp_b
   fi
  if [ ${hh} = 00 ] && [ ${RUN_MODE} = 'forecast' ] 
  then 
     let "hh2=24+$hh"
     hh2=`printf %2.2i $hh2`
     cp archv.${eyyyy}_${eddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh2}.archv.a >> cmdfile_tmp_a
     cp archv.${eyyyy}_${eddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh2}.archv.b >> cmdfile_tmp_b
  elif [ ${hh} != 00 ] && [ ${RUN_MODE} = 'forecast' ] 
  then
     cp archv.${syyyy}_${sddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.a >> cmdfile_tmp_a
     cp archv.${syyyy}_${sddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.b >> cmdfile_tmp_b
   fi
done
##hCk######
# hCk for hh in 00 06 12 18 
# hCk do
# hCk  if [ ${hh} = 00 ] || [ ${RUN_MODE} = 'forecast' ] 
# hCk  then 
# hCk     cp archv.${eyyyy}_${eddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.a >> cmdfile_tmp_a
# hCk     cp archv.${eyyyy}_${eddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}${hh}.archv.b >> cmdfile_tmp_b
# hCk  else
# hCk     let "hh2=24-$hh"
# hCk     hh2=`printf %2.2i $hh2`
# hCk     cp archv.${syyyy}_${sddd}_${hh}.a  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}-${hh2}.archv.a >> cmdfile_tmp_a
# hCk     cp archv.${syyyy}_${sddd}_${hh}.b  $COMOUT/${RUN}_${modID}.t${cyc}z.${mode}-${hh2}.archv.b >> cmdfile_tmp_b
# hCk   fi
# hCk done

#
# Copy restart and archive files in permanent location.
#
for ftype in a b
do 
  if [ $NPROCS -gt 1 ] 
  then
    split -${NPROCS} cmdfile_tmp_${ftype} cmdfile.
    ls -l cmdfile.*
    for cfile in `ls cmdfile.*`
    do
      cmdlen=`cat $cfile | wc -l`
      while [ $cmdlen -lt $NPROCS ]
      do
        echo 'sleep 1' >> $cfile
        cmdlen=`expr $cmdlen + 1`
      done
      export MP_CMDFILE=$cfile
      poe -procs $NPROCS
      exit=$?
    done
    rm -f cmdfile.*
  else
    sh cmdfile_tmp_$b{ftype}
  fi
done
if [ $NPROCS -gt 1 ] ; then
  export MP_PGMMODEL=spmd
fi
## rm -f cmdfile_tmp*

echo "*** Finished script $0 on hostname "`hostname`' at time '`date`
