#!/bin/ksh
#############################################################
# script: run_prepg2g+g2g.mosaic_model.sh
#   1. set up path and user defined table
#   2. run g2g fortran program to generate vsdb file
#
#  Author: Binbin Zhou/SAIC
#         Apr. 5, 2010
#
#############################################################
set -x

PAST1=$1
region=$2
grid=$3
core=$4
model=$5

OBSVDIR=${OBSVDIR:-/com/verf/prod/reflt}
FCSTDIR=${FCSTDIR:-/com/verf/prod/reflt}

# following parameters are exported to prepg2g.sh ###############
# (1) for observation and forecaste file's names/directories (forecsat's are put
#     in following if block

export obsvdir=${obsvdir:-$OBSVDIR}
export ohead=refd3d
export ogrbtype=${region}grid.f
export otm=
export otail=00

#(2) tendency options
export tnd03='close'
export tnd06='close'
export tnd12='close'
export tnd24='close'

#(4) cloud base starting from where
export cloud_base_from_sfc="yes"

#(5) lat_weight="no"
###################################################################

if [ $model = 'SREFNMM' ] || [ $model = 'SREFARW' ] ; then   
 HH=03
 END=21
else
 HH=00
 END=18
fi

typeset -Z2 HH

while [ $HH -le $END ]   # loop for different validation time  

do

######Step 1:  generate user-defined control file for prepg2g.sh  ############# 

if [ $model = 'SREFNMM' ] || [ $model = 'SREFARW' ] ; then

  export fcstdir=${fcstdir:-$FCSTDIR}
  export fhead=$core
  export fgrbtype=${region}grid.f
  export ftm=

  cp $PARMverf_g2g/verf_g2g_reflt.sref .
  sed -e "s/MODNAM/$model/g" -e "s/VDATE/${PAST1}${HH}/g" -e "s/VGRID/$grid/g" verf_g2g_reflt.sref >user.ctl 
else

 if [ $model = 'NMM' ] || [ $model = 'ARW' ] ; then
  if [ $region = 'east' ] ; then

     if [ $HH -eq 0 ] || [ $HH -eq 12 ] ; then
       t1=12
       t2=24
       t3=36
       t4=48
     elif [ $HH -eq 6 ] || [ $HH -eq 18 ] ; then
       t1=6
       t2=18
       t3=30
       t4=42
     else
       echo 'wrong time setting for' $model on $region
       exit
     fi 

     export fcstdir=${COMHIRWSW:-/com/hiresw/prod/hiresw}
     export fhead=${region}${core}
     export fgrbtype=awpreg
     export ftm=.tm00

     cp $PARMverf_g2g/verf_g2g_reflt.hiresw_east .
     sed -e "s/MODNAM/$model/g" -e "s/T1/$t1/g" -e "s/T2/$t2/g" -e "s/T3/$t3/g" -e "s/T4/$t4/g" \
         -e "s/VDATE/${PAST1}${HH}/g" -e "s/VGRID/$grid/g" verf_g2g_reflt.hiresw_east >user.ctl 

  elif [ $region = 'west' ] ; then

     if [ $HH -eq 0 ] ; then
       t1=18
       t2=42
     elif [ $HH -eq 6 ] ; then
       t1=24
       t2=48
     elif [ $HH -eq 12 ] ; then
       t1=6
       t2=30
     elif [ $HH -eq 18 ] ; then
       t1=12
       t2=36
     else
       echo 'wrong time setting for' $model on $region
       exit
     fi

     export fcstdir=${COMHIRESW:-/com/hiresw/prod/hiresw}
     export fhead=${region}${core}
     export fgrbtype=awpreg
     export ftm=.tm00

     cp $PARMverf_g2g/verf_g2g_reflt.hiresw_west .
     sed -e "s/MODNAM/$model/g" -e "s/T1/$t1/g" -e "s/T2/$t2/g" \
         -e "s/VDATE/${PAST1}${HH}/g" -e "s/VGRID/$grid/g" verf_g2g_reflt.hiresw_west >user.ctl 
  else
     echo 'wrong region setting for' $model
     exit
 fi

 elif [ $model = 'NAM' ] ; then

  export fcstdir=${fcstdir:-$FCSTDIR}
  export fhead=nam
  export fgrbtype=${region}grid.f
  export ftm=

  cp $PARMverf_g2g/verf_g2g_reflt.nam .
  sed -e "s/MODNAM/$model/g" -e "s/VDATE/${PAST1}${HH}/g" -e "s/VGRID/$grid/g" verf_g2g_reflt.nam >user.ctl 

 elif [ $model = 'RAP' ] ; then

  export fcstdir=${fcstdir:-$FCSTDIR}
  export fhead=rap
  export fgrbtype=${region}grid.f
  export ftm=

  cp $PARMverf_g2g/verf_g2g_reflt.rap .
  sed -e "s/MODNAM/$model/g" -e "s/VDATE/${PAST1}${HH}/g" -e "s/VGRID/$grid/g" verf_g2g_reflt.rap >user.ctl 

 else

  echo 'Wrong' $model
  exit

 fi 

fi  #end if non-sref single model

#### Step 2: call prepg2g.sh to prepare both forecast and observation GRIB files

$USHverf_g2g/verf_g2g_prepg2g.sh < user.ctl >output.prepg2g.$model

echo "prepg2g.sh done for "${PAST1}${HH} 

# Step 3: call run_g2g.sh to arange forecast and observation GRIB files and then
#         call g2g executable to generate SL1L2 and FHO VSDB files

$USHverf_g2g/verf_g2g_fitsg2g.sh<temp

echo "verf_g2g_fitsg2g.sh done for " ${PAST1}${HH}
 
HH=`expr $HH + 6`
done

exit

