#!/bin/ksh
##############################################################################
# Script Name: verf_g2g_cloud_afwa.sh
# Purpose:  This script processes the grid-to-grid verification of the model
#           output against the afwa input data
#
# History:  2011-11-18  Julia Zhu modified from Binbin Zhou's version to 
#                       prepare for production implementation
#
# Usage:  verf_g2g_cloud_afwa.sh vday model obsv
###############################################################################
set -x

PAST1=$1
model=$2
obsv=$3

vgrid=${vgrid:-212}

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

#(1) Set parameters
case $model in 
  nam)      export fcstdir=${COMNAM:-/com/nam/prod/nam}
            export fhead=nam
            export fgrbtype=awip3d
            export ftm=.tm00
            export mdl=NAM
            ;;
  gfs)      export fcstdir=$FCSTDIR
            export fhead=gfs
            export fgrbtype=grd212.f
            export ftm=
            export mdl=GFS
            ;;
  eastnmm)  export fcstdir=$FCSTDIR
            export fhead=eastnmm
            export fgrbtype=grd212.f
            export ftm=
            export mdl=EASTNMM
            ;;
  eastarw)  export fcstdir=$FCSTDIR
            export fhead=eastarw
            export fgrbtype=grd212.f
            export ftm=
            export mdl=EASTARW
            ;;
  westnmm)  export fcstdir=$FCSTDIR
            export fhead=westnmm
            export fgrbtype=grd212.f
            export ftm=
            export mdl=WESTNMM
            ;;
  westarw)  export fcstdir=$FCSTDIR
            export fhead=westarw
            export fgrbtype=grd212.f
            export ftm=
            export mdl=WESTARW
            ;;
esac

if [ $obsv = "afwa" ] ; then
 export obsvdir=$OBSVDIR
 export ohead=afwa
 export ogrbtype=grd212
 export otm=
 export otail=.f00
 export obsvdata=AFWA
elif [ $obsv = "clavr" ] ; then
 export obsvdir=$OBSVDIR
 export ohead=clavr
 export ogrbtype=grd212
 export otm=
 export otail=.f00
 export obsvdata=CLAVR
else
 echo $obsv " is wrong type of satellite data"
 exit
fi
 
#(2) tendency options
export tnd03='close'
export tnd06='close'
export tnd12='close'
export tnd24='close'

#(3) cloud base starting from where
export cloud_base_from_sfc="no"

#(4) lat_weight="no"

#(5) Prepare OBS and FCST input files and run grid2grid to generate VSDB files
for HH in 00 06 12 18
do
  if [ $model = gfs -o $model = nam ]; then
     cp $PARMverf_g2g/verf_g2g_cloud.${model} .
     sed -e "s/MODNAM/${mdl}_212/g" -e "s/VDATE/${PAST1}${HH}/g" \
         -e "s/OBSTYPE/$obsvdata/g" verf_g2g_cloud.${model} >user.ctl
  elif [ $model = eastnmm -o $model = eastarw -o $model = westnmm -o $model = westarw ]; then
     cp $PARMverf_g2g/verf_g2g_cloud.hiresw .
     sed -e "s/MODNAM/${mdl}_212/g" -e "s/VDATE/${PAST1}${HH}/g" \
         -e "s/OBSTYPE/$obsvdata/g" verf_g2g_cloud.hiresw >user.ctl
  else
     echo "$model has not been included in the verification"
     exit
  fi
     
  $USHverf_g2g/verf_g2g_prepg2g.sh < user.ctl >output.prepg2g.${obsv}.${model}

  $USHverf_g2g/verf_g2g_fitsg2g.sh<temp

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

# Combine the vsdb files for each model
if [ ! -d $COMVSDB/cloud ]; then
  mkdir -p $COMVSDB/cloud
fi

rm -rf ${model}_${PAST1}.vsdb
MODEL=`echo $model | tr '[a-z]' '[A-Z]'`
for HH in 00 06 12 18
do
  cat ${MODEL}_${vgrid}_${PAST1}${HH}.vsdb >> $COMVSDB/cloud/${model}_${obsv}_${PAST1}.vsdb
done

rm -rf *${MODEL}*.vsdb

