#!/bin/ksh -x
#
#VARIAVEIS

ifct=00
ihour=`echo ${Run_Date} |cut -c 9-10`
Run_Date=${1}
FInitBC=gfs2gr0.5
InitBC=6

#GRBDIR=${Eta_run}
#WOUTDIR=${Eta_run}
GRBDIR=/home/lucci/GEF/GEF-reta/GEF_tempo/scratchout/INIT_DATA/
WOUTDIR=/home/lucci/GEF/GEF-reta/GEF_tempo/scratchout/INIT_DATA/
me=$(whoami)
echo "I am $me."

#echo 'remove old files!!!'
#rm -fv $WOUTDIR/wbin.*
#rm -fv wbin.*

dhri=${ifct}

typeset -Z2 dhri
#typeset -Z3 dhri Fct  #NOVO
while [ $dhri -le ${ifct} ];do
echo "passei"

##if [ $dhri -ne 0 ];then
##if [ $dhri -le 9 ];then
#dhri=0$dhri
##fi
##fi

dhr=${dhri}

echo '==================================================='
echo 'file in process '$GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2'
echo '==================================================='

if [ $dhri -eq 0 ];then
#line=$(${Eta_home}/util/wgrib2 -v $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' | grep "HGT" | grep "10 mb")
line=$(/home/lucci/grads/2.0.a9/bin/wgrib2 -v $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' | grep "HGT" | grep "10 mb")
adate=`echo ${line}|cut -d"=" -f2|cut -c1-10`
echo $adate > ${WOUTDIR}/adate.txt

if [ $adate -eq $Run_Date ] ; then
  echo "The gfs date is $adate"
else
  echo "Data for $Run_Date isn't available"
  exit 99 
fi
fi

rm -f  ${WOUTDIR}/${FInitBC}_${adate}E.$dhr
touch  ${WOUTDIR}/${FInitBC}_${adate}E.$dhr
echo 'OPEN ' ${WOUTDIR}/${FInitBC}_${adate}E.$dhr '  FILE'

for vars in HGT UGRD VGRD TMP RH; do
for levs in 100000 97500 95000 92500 90000 85000 80000 75000 70000 65000 \
             60000 55000 50000 45000 40000 35000 30000 25000 20000 15000 \
             10000  7000  5000  3000  2000  1000   700   500   300   200 \
               100;do


line=$(/home/lucci/grads/2.0.a9/bin/wgrib2 -ctl_inv $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' | grep "$vars 100,$levs ")

if [ -z "$line" ]; then
echo 'MISSING DATA :: VAR = '$vars' LEVEL = '$levs
else

tptp=`expr index "$line" :`
tptp=`expr $tptp - 1`
nrec=${line:0:$tptp}

/home/lucci/grads/2.0.a9/bin/wgrib2 -d $nrec $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' -append -bin ${WOUTDIR}/${FInitBC}_${adate}E.$dhr >> ${WOUTDIR}/log

fi   # if [ -z "$line" ]

done # for levs 
done # for vars 

# SURFACE VARIABLES

for vars in "LAND" "PRMSL" "PRES 1," "HGT 1,"\
            "TSOIL 106,0,0.1"\
            "SOILW 106,0,0.1"\
            "TSOIL 106,0.1,0.4"\
            "SOILW 106,0.1.0.4"\
            "TSOIL 106,0.4,1"\
            "SOILW 106,0.4,1"\
            "TSOIL 106,1,2"\
            "SOILW 106,1,2"\
	    ; do

#older data (2012), tsoil is changed by tmp
#for vars in "LAND" "PRMSL" "PRES 1," "HGT 1,"\
#            "TMP 106,0,0.1"\
#            "SOILW 106,0,0.1"\
#            "TMP 106,0.1,0.4"\
#            "SOILW 106,0.1.0.4"\
#            "TMP 106,0.4,1"\
#            "SOILW 106,0.4,1"\
#            "TMP 106,1,2"\
#            "SOILW 106,1,2"\
#	     ; do

line=$(/home/lucci/grads/2.0.a9/bin/wgrib2 -ctl_inv $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' | grep "$vars")

if [ -z "$line" ]; then
echo 'NO DATA FOR VAR = '$vars' LEVEL = '$levs'mb'
else

tptp=`expr index "$line" :`
tptp=`expr $tptp - 1`
nrec=${line:0:$tptp}

/home/lucci/grads/2.0.a9/bin/wgrib2 -d $nrec $GRBDIR'/gfs.t'${ihour}'z.pgrb2f'$dhri'.'$Run_Date'.grib2' -append -bin  ${WOUTDIR}/${FInitBC}_${adate}E.$dhr >> ${WOUTDIR}/log

fi   # if [ -z "$line" ]

done # for vars


echo 'DONE WITH ' ${WOUTDIR}/${FInitBC}_${adate}E.$dhr '  FILE'



ls -l ${WOUTDIR}/${FInitBC}_${adate}E.$dhr

#echo '=========================================='
dhri=`expr $dhri + ${InitBC} `

done # while [ $dhr -le $dend ]

#mv -v ${FInitBC}_${adate}.* $WOUTDIR
#mv -v adate.txt $WOUTDIR
#mv -v log $WOUTDIR


exit
