#!/bin/ksh -x
# Script....: Eta_PosDec
# Shell.....: Korn Shell
# Objetivo..: Gerar arquivos *.bin, *.ctl, *.gs automaticamente a partir dos parametros passsados
#             e startar outros processos para completar o pos-processamento
# Sintaxe...: Eta_PosDec DATA
# Parametros: DATA......Data da rodada do mglobal padrao YYMMDDHH
# Autor.....: Jose Roberto Motta Garcia
# e-mail....: garcia@cptec.inpe.br

# Verifica se foi passado pelo menos um parametro
if (($#<1)) ; then
echo "Eta_PosDec: Sintaxe Incorreta"
echo "Uso: Eta_PosDec  YYMMAAHH" 
exit 1
fi
DIR_ROOT=`pwd`/..
## Seta as variaveis de acordo com o parametro passado
EDATE=$1
Res=$2
LabRod=$3
Conf=$4
INI=$5
FIM=$6
INTER=$7
ModCNV=`basename ${8}`
DIR_GRBCTL=$8/${EDATE}
DIR_BINCTLIND=$9/${EDATE}
DIR_EXEC=${DIR_ROOT}/scripts
DIR_OUTPUT=${DIR_EXEC}/output/${ModCNV}
DIR_TEMP=${DIR_ROOT}/temp/${ModCNV}
DIR_GMP=${DIR_ROOT}/gmp/${ModCNV}
DIR_GIF=${DIR_ROOT}/gif/${ModCNV}

mkdir -p $DIR_OUTPUT
mkdir -p $DIR_TEMP
mkdir -p $DIR_GMP
mkdir -p $DIR_GIF


export DIR_GRBCTL
export DIR_BINCTLIND
export DIR_EXEC
export DIR_TEMP
export DIR_GMP
export DIR_GIF
export DIR_SKT

## Variaveis que definem rotinas a serem executadas (usadas para testes tornando o processamento mais rapido)
## Todas deverao estar com o valor 1 na rodada operacional do modelo
#read serv_pub fserv_pub 
#read GIFS
serv_pub=eta.ipmet.unesp.br
fserv_pub=1
GIFS=1
export serv_pub 
export fserv_pub 
export GIFS 

cd ${DIR_EXEC}

typeset -Z4 YY
typeset -Z2 MM 
typeset -Z2 DD 
typeset -Z2 HH 

YY=`echo ${EDATE}  | cut -c1-4`
MM=`echo ${EDATE}  | cut -c5-6`
DD=`echo ${EDATE}  | cut -c7-8` 
HH=`echo ${EDATE}  | cut -c9-10`

YEAR=${YY}
MONTH=${MM}
DAY=${DD}
HOUR=${HH}


OUTPUT_FILE=${DIR_OUTPUT}/ntht$fexp

# Seta variaveis com valores iniciais
typeset -Z4 FHR
FHR=$INI

echo Inicio da geracao de binarios e ctls: 

while (($FHR<=$FIM)) ; do

if (($GIFS==1)) ; then

 dtle=`${HOME}/bin/caldate.3.0 ${EDATE} + ${FHR}hr 'dd/mm/yyyy, hh'`
 gstime=`${HOME}/bin/caldate.3.0 ${EDATE} + ${FHR}hr 'hhZddmmmyyyy'`
 LARQ=`echo "${LabRod}${Res}km${EDATE}"|awk '{print tolower($1)}'`
 ARQTMPL=${DIR_GRBCTL}/${LARQ}
 labw=`${HOME}/bin/caldate.3.0 ${EDATE} + ${FHR}hr "sd"`
 cat ${DIR_EXEC}/templ_4x4.gs|sed "s:DIRWRK:${DIR_EXEC}/..:g"|sed "s:ARQCTL:${ARQTMPL}:g"|sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g" \
 |sed "s/ZZ/${gstime}/g"|sed "s/DATE/$EDATE/g"|sed "s/TT/${FHR}/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/${EDATE}_4x4_$FHR.gs 
  /usr/bin/grads -blc 'run '${DIR_TEMP}'/'${EDATE}'_4x4_'$FHR'.gs' 

TMPLIND=${DIR_BINCTLIND}/Indices${EDATE}
 cat ${DIR_EXEC}/Indices_templ.gs|sed "s:DIRWRK:${DIR_EXEC}/..:g"|sed "s:ARQCTL:${TMPLIND}:g"|sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g" \
 |sed "s/ZZ/${gstime}/g"|sed "s/DATE/$EDATE/g"|sed "s/TT/${FHR}/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/${EDATE}_Indices_$FHR.gs 
  /usr/bin/grads -blc 'run '${DIR_TEMP}'/'${EDATE}'_Indices_'$FHR'.gs' 

case $FHR in
 0024) cat ${DIR_EXEC}/templ_precip.gs|sed "s:DIRWRK:${DIR_ROOT}:g"|sed "s:ARQCTL:${ARQTMPL}:g" \
 |sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g"|sed "s/DATE/$EDATE/g"|sed "s/HP/0024/g"|sed "s/TII/2/g" \
 |sed "s/TFI/25/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/precip1.gs
 /usr/bin/grads -blc  'run '${DIR_TEMP}'/precip1.gs';;
 0036) cat ${DIR_EXEC}/templ_precip.gs|sed "s:DIRWRK:${DIR_ROOT}:g"|sed "s:ARQCTL:${ARQTMPL}:g" \
 |sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g"|sed "s/DATE/$EDATE/g"|sed "s/HP/0036/g"|sed "s/TII/13/g" \
 |sed "s/TFI/37/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/precip2.gs
 /usr/bin/grads -blc  'run '${DIR_TEMP}'/precip2.gs';;
 0048) cat ${DIR_EXEC}/templ_precip.gs|sed "s:DIRWRK:${DIR_ROOT}:g"|sed "s:ARQCTL:${ARQTMPL}:g" \
 |sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g"|sed "s/DATE/$EDATE/g"|sed "s/HP/0048/g"|sed "s/TII/25/g" \
 |sed "s/TFI/49/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/precip3.gs
 /usr/bin/grads -blc  'run '${DIR_TEMP}'/precip3.gs';;
  0060) cat ${DIR_EXEC}/templ_precip.gs|sed "s:DIRWRK:${DIR_ROOT}:g"|sed "s:ARQCTL:${ARQTMPL}:g" \
 |sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g"|sed "s/DATE/$EDATE/g"|sed "s/HP/0060/g"|sed "s/TII/37/g" \
 |sed "s/TFI/61/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/precip4.gs
 /usr/bin/grads -blc  'run '${DIR_TEMP}'/precip4.gs';;
  0072) cat ${DIR_EXEC}/templ_precip.gs|sed "s:DIRWRK:${DIR_ROOT}:g"|sed "s:ARQCTL:${ARQTMPL}:g" \
 |sed "s/SSS/${labw}/g"|sed "s/FIGINT/${INTER}/g"|sed "s/DATE/$EDATE/g"|sed "s/HP/0072/g"|sed "s/TII/49/g" \
 |sed "s/TFI/73/g"|sed "s:DTLE:${dtle}:g" > ${DIR_TEMP}/precip5.gs
 /usr/bin/grads -blc  'run '${DIR_TEMP}'/precip5.gs';;
esac
  
fi  

let FHR=$FHR+$INTER
done
exit
