#!/bin/ksh 
#
Run_Date=$1


#Get IC, BC and SST?

get_all="no"

#
#INCLUI os diretorios de scripts e de saida 
Eta_home=/stornext/home/gustavo.sueiro/worketa
Eta_home1=/scratch1/grupos/eta/home/gustavo.sueiro/worketa
Eta_wrk=/scratch2/grupos/eta/home/gustavo.sueiro/worketa
#Configuracao Inicial da rodada

Lon=-53.0
Lat=-21.5
IM=379 
JM=779 
LM=50 
LSM=22
PT=50
Res=15
resol=0.15
Fctexec=etafcst_all.x
LabRod=Eta_cluster 
Conf=379X779X50_oper2
Fct=168
IntFct=1
FInitBC=global_cptec
InitBC=6
TInitBC=1
IntPhisAcum=3.0 #isr: testando POST e PROFILE com acumulo diferente de 1h.
TypRun=forecast
slope=.true.
vegflag=.true.
sstflg=.false.
postout=latlonnopack
npr=181
qtdtypsolo=9
soilmoist=.false.
prop1=1.0
prop2=1.0
prop3=1.0
prop4=1.0
#
Eta_dprep=${Eta_home}/dprep
Eta_scr=${Eta_home1}/eta/${Conf}/scripts
Eta_run=${Eta_wrk}/eta/${Conf}/${Run_Date}${LabRod}${Res}km
Eta_ucl=${Eta_home1}/eta/${Conf}/ucl
Eta_grb=${Eta_home1}/eta/${Conf}/grb
Eta_Templ=${Eta_home}/eta/template

# Make scr output dir
mkdir ${Eta_run}

mkdir -p ${Eta_scr}/relatorios
#${Eta_scr}/muda_nome.ksh ${Run_Date}
Eta_scr_out=${Eta_scr}/output/${Run_Date}${LabRod}${Res}km
mkdir -p ${Eta_scr_out}

DLMD=`${Eta_scr}/def_eta.scr ${Res}|awk '{print $1}'`
DPHD=`${Eta_scr}/def_eta.scr ${Res}|awk '{print $2}'`

${Eta_scr}/muda_nome.ksh ${Run_Date}

cd ${Eta_scr}

cat << EOF > ${Eta_scr_out}/SetVar
Run_Date=${Run_Date}
Eta_home=${Eta_home}
Eta_home1=${Eta_home1}
Eta_wrk=${Eta_wrk}
Eta_scr=\${Eta_home1}/eta/${Conf}/scripts
Eta_scr_out=${Eta_scr_out}
Eta_run=\${Eta_wrk}/eta/${Conf}/${Run_Date}${LabRod}${Res}km
Eta_ucl=${Eta_ucl}
Eta_fix=\${Eta_home1}/eta/fix
Eta_wrk_fix=\${Eta_home1}/eta/${Conf}/fix
Eta_src=${Eta_home1}/eta/src
Eta_exe=\${Eta_home1}/eta/${Conf}/exe
data_grib=\${Eta_home1}/eta/${Conf}/data/${FInitBC}
data_prep=\${Eta_run}
Eta_static=/scratch1/grupos
data_topo=\${Eta_static}/eta/static/topo
data_soilp=\${Eta_static}/eta/static/newsoil
data_veg=\${Eta_static}/eta/static/veg
Eta_datain=\${Eta_home1}/eta/${Conf}/datain
#Eta_static=\${Eta_home1}/eta/static
Eta_conf=\${Eta_home1}/eta/${Conf}/configuracao
Lon=${Lon} 
Lat=${Lat}
IM=${IM}
JM=${JM}
LM=${LM}
LSM=${LSM}
Res=${Res}
resol=${resol}
DLMD=${DLMD}
DPHD=${DPHD}
Fctexec=${Fctexec} 
LabRod=${LabRod} 
Conf=${Conf}
Fct=${Fct}
IntFct=${IntFct}
FInitBC=${FInitBC}
InitBC=${InitBC}
TInitBC=${TInitBC}
IntPhisAcum=${IntPhisAcum}
TypRun=${TypRun}
slope=${slope}
vegflag=${vegflag}
sstflg=${sstflg}
postout=${postout}
IntFig=3
npr=${npr}
qtdtypsolo=${qtdtypsolo}
soilmoist=${soilmoist}
prop1=${prop1}
prop2=${prop2}
prop3=${prop3}
prop4=${prop4}
EOF

cat << EOF > ${Eta_scr_out}/SetVar_csh
set Run_Date=${Run_Date}
set Eta_home=${Eta_home}
set Eta_home1=${Eta_home1}
set Eta_wrk=${Eta_wrk}
set Eta_scr=\${Eta_home1}/eta/${Conf}/scripts
set Eta_scr_out=${Eta_scr_out}
set Eta_run=\${Eta_wrk}/eta/${Conf}/${Run_Date}${LabRod}${Res}km
set Eta_ucl=${Eta_ucl}
set Eta_fix=\${Eta_home1}/eta/fix
set Eta_wrk_fix=\${Eta_home1}/eta/${Conf}/fix
set Eta_exe=\${Eta_home1}/eta/${Conf}/exe
set dprep_exe=${Eta_dprep}/exe
set Eta_src=${Eta_home1}/eta/src
set data_grib=\${Eta_home1}/eta/${Conf}/data/${FInitBC}
set data_prep=\${Eta_run}
set Eta_static=/scratch1/grupos
set data_topo=\${Eta_static}/eta/static/topo
set data_soilp=\${Eta_static}/eta/static/newsoil
set data_veg=\${Eta_static}/eta/static/veg
set Eta_datain=\${Eta_home1}/eta/${Conf}/datain
#set Eta_static=\${Eta_home1}/eta/static
set Eta_conf=\${Eta_home1}/eta/${Conf}/configuracao
set Lon=${Lon} 
set Lat=${Lat}
set IM=${IM}
set JM=${JM}
set LM=${LM}
set Res=${Res}
set DLMD=${DLMD}
set DPHD=${DPHD}
set Fctexec=${Fctexec} 
set LabRod=${LabRod} 
set Conf=${Conf}
set Fct=${Fct}
set IntFct=${IntFct}
set FInitBC=${FInitBC}
set InitBC=${InitBC}
set TInitBC=${TInitBC}
set IntPhisAcum=${IntPhisAcum}
set TypRun=${TypRun}
set slope=${slope}
set vegflag=${vegflag}
set sstflg=${sstflg}
set postout=${postout}
set qtdtypsolo=${qtdtypsolo}
set soilmoist=${soilmoist}
set prop1=${prop1}
set prop2=${prop2}
set prop3=${prop3}
set prop4=${prop4}
EOF

cat << EOF > ${Eta_scr_out}/SetVarM
export Run_Date=${Run_Date}
export Eta_home=${Eta_home}
export Eta_home1=${Eta_home1}
export Eta_wrk=${Eta_wrk}
export Eta_scr=\${Eta_home1}/eta/${Conf}/scripts
export Eta_scr_out=${Eta_scr_out}
export Eta_run=\${Eta_wrk}/eta/${Conf}/${Run_Date}${LabRod}${Res}km
export Eta_binctl=\${Eta_wrk}/eta/${Conf}/binctl/${Run_Date}
export Eta_posfig=\${Eta_wrk}/eta/${Conf}/posfig
export Eta_grbctl=\${Eta_wrk}/eta/${Conf}/grbctl
export Eta_indsev=\${Eta_wrk}/eta/${Conf}/indsev
export Eta_ucl=${Eta_ucl}
export Eta_fix=\${Eta_home1}/eta/fix
export Eta_wrk_fix=\${Eta_home1}/eta/${Conf}/fix
export Eta_src=${Eta_home1}/eta/src
export Eta_exe=\${Eta_home1}/eta/${Conf}/exe
export data_grib=\${Eta_home1}/eta/${Conf}/data/${FInitBC}
export data_prep=\${Eta_run}
export Eta_static=/scratch1/grupos
export data_topo=\${Eta_static}/eta/static/topo
export data_soilp=\${Eta_static}/eta/static/newsoil
export data_veg=\${Eta_static}/eta/static/veg
export Eta_datain=\${Eta_home1}/eta/${Conf}/datain
#export Eta_static=\${Eta_home1}/eta/static
export Eta_conf=\${Eta_home1}/eta/${Conf}/configuracao
export Lon=${Lon} 
export Lat=${Lat}
export IM=${IM}
export JM=${JM}
export LM=${LM}
export LSM=${LSM}
export PT=${PT}
export Res=${Res}
export resol=${resol}
export DLMD=${DLMD}
export DPHD=${DPHD}
export Fctexec=${Fctexec} 
export LabRod=${LabRod} 
export Conf=${Conf}
export Fct=${Fct}
export Fcts=000
export IntFct=${IntFct}
export FInitBC=${FInitBC}
export InitBC=${InitBC}
export TInitBC=${TInitBC}
export IntPhisAcum=${IntPhisAcum}
export TypRun=${TypRun}
export slope=${slope}
export vegflag=${vegflag}
export sstflg=${sstflg}
export postout=${postout}
export IntFig=3
export npr=${npr}
export qtdtypsolo=${qtdtypsolo}
export soilmoist=${soilmoist}
export prop1=${prop1}
export prop2=${prop2}
export prop3=${prop3}
export prop4=${prop4}
EOF

cat ${Eta_scr}/roda_mod.ksh_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_scr}/output/${Run_Date}${LabRod}${Res}km/roda_mod.ksh
cat ${Eta_scr}/main.scr_Templ  | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_scr}/output/${Run_Date}${LabRod}${Res}km/main_${Conf}.scr 
cat ${Eta_scr}/get_data.scr_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar_csh" > ${Eta_scr}/output/${Run_Date}${LabRod}${Res}km/get_data.scr
cat ${Eta_scr}/process_grib.scr_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar_csh" > ${Eta_scr}/output/${Run_Date}${LabRod}${Res}km/process_grib.scr
cat ${Eta_scr}/new_prep.sh_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar" >  ${Eta_run}/new_prep.sh
cat ${Eta_scr}/CompileAllFixProgm_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar" >  ${Eta_run}/CompileAllFixPrgm
cat ${Eta_scr}/CreateArqsFix_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar" >  ${Eta_run}/CreateArqsFix
cat ${Eta_scr}/run.com_real_mpi | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_run}/run.com_real_mpi
cat ${Eta_scr}/outjob_special | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_run}/outjob_special
cat ${Eta_scr}/outjob_special_prof | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_run}/outjob_special_prof
cat ${Eta_scr}/outjob_special.ksh | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_run}/outjob_special.ksh
cat ${Eta_scr}/Finaliza_${postout}.ksh | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" > ${Eta_run}/Finaliza.ksh 
cat ${Eta_scr}/Indice.ksh_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar" > ${Eta_run}/Indice.ksh
cat ${Eta_scr}/SubmitPos.ksh | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVarM" | sed -e "s:date_in:${Run_Date}:g" | sed -e "s:cam:${Eta_run}:g" > ${Eta_run}/SPos${Run_Date}.ksh
#cat ${Eta_scr}/gera_figuras.ksh_Templ | sed "/VARIAVEIS/r ${Eta_scr_out}/SetVar" > ${Eta_run}/gera_figuras.ksh

mkdir ${Eta_run}/outjob

if [ "${postout}" = "latlonnopack" ] ; then
cp ${Eta_ucl}/wgts1 ${Eta_run}/wgts1
cp ${Eta_ucl}/cntrl.parm_NOPACK ${Eta_run}/cntrl.parm_NOPACK

cp ${Eta_grb}/cptec.table ${Eta_run}/.
cat ${Eta_grb}/gribeta_Templ | sed "/VARIAVEIS/r SetVar" > ${Eta_run}/gribeta 
else
cp ${Eta_ucl}/cntrl.parm_GRIBIT ${Eta_run}/cntrl.parm_GRIBIT
fi

cp ${Eta_ucl}/solar ${Eta_run}/solar
cp ${Eta_ucl}/InputModelInf.txt ${Eta_run}/InputModelInf.txt
echo ${Run_Date} | cut -c3-10 > ${Eta_run}/adate.txt 

cp ${Eta_home1}/eta/fix/deta_files/deta_${LM} ${Eta_home1}/eta/${Conf}/fix/deta
cp ${Eta_home1}/eta/fix/a2.bin ${Eta_home1}/eta/${Conf}/fix/co2.bin
cp ${Eta_home1}/eta/fix/rad_files/co2.${LM}_50mb ${Eta_home1}/eta/${Conf}/fix/co2.dat

chmod 755 ${Eta_scr_out}/main_${Conf}.scr
chmod 755 ${Eta_scr_out}/get_data.scr
chmod 755 ${Eta_scr_out}/process_grib.scr
chmod 755 ${Eta_run}/new_prep.sh
#chmod 755 ${Eta_run}/CompileAllFixPrgm
#chmod 755 ${Eta_run}/CreateArqsFix
chmod 755 ${Eta_run}/run.com_real_mpi
chmod 755 ${Eta_run}/outjob_special
chmod 755 ${Eta_run}/outjob_special_prof
chmod 755 ${Eta_run}/outjob_special.ksh
chmod 755 ${Eta_run}/Finaliza.ksh
chmod 755 ${Eta_run}/gribeta 
chmod 755 ${Eta_run}/Indice.ksh
chmod 755 ${Eta_run}/SPos${Run_Date}.ksh
#chmod 755 ${Eta_run}/gera_figuras.ksh

# Get ic and cc from ftp site 
if [ "${get_all}" = "yes" ] ; then
  case ${FInitBC} in
       gfs2) ${Eta_scr_out}/get_data.scr 00 ${Fct} ${FInitBC} ${InitBC} ${data_rod};;
   cpteta15) ${Eta_scr_out}/get_Eta15km.ksh;;
  esac    
fi

##############################################################################
##############################################################################
########## Compile all necessaries programs for the fix arquives #############
##############################################################################
#${Eta_run}/CompileAllFixPrgm
##############################################################################
##############################################################################

cat << EOF > ${Eta_scr_out}/${LabRod}${Run_Date}
#!/bin/ksh -x
#PBS -N SPre${Run_Date}
#PBS -lselect=1:ncpus=8
#PBS -o ${Eta_scr_out}/Etap${Res}${Run_Date}
#PBS -j oe
#PBS -q pesq.q

cd ${Eta_scr_out}
${Eta_scr_out}/main_${Conf}.scr  ${Run_Date} ${Fct} ${FInitBC} ${InitBC} ${TInitBC} ${Res} ${Lon} ${Lat} ${IM} ${JM} ${LM} ${LabRod}
EOF

export PBS_SERVER=aux20-eth4

# Submit model
qsub ${Eta_scr_out}/${LabRod}${Run_Date}

# Submit Pos
qsub ${Eta_run}/SPos${Run_Date}.ksh
#############################################################################

# Make symbolic link to an output dir
cd ${Eta_scr_out}
rm -f dirout
ln -s ${Eta_run} dirout

exit 


