#!/bin/ksh 

niveis=$1
exp=$2
rodada=$3

tempoi=$4
tempof=$5
dia=$6

caldate=/scratchin/grupos/apgmet/home/joao.araujo/gef_v1.0.0_50N_KF/gef_trunk/util/caldate.3.0
###dirin=/scratchout/grupos/apgmet/home/joao.araujo/gef_v1.0.0_${niveis}N_$exp/GLOBRUN/$rodada
###dirout=/scratchout/grupos/apgmet/home/joao.araujo/EXP/saida/${rodada}/

dirin=/stornext/online19/apgmet/joao.araujo/GEF_EXPERIMENTOS/GLOBRUN_${niveis}N_$exp/$rodada
dirout=/scratchout/grupos/apgmet/home/joao.araujo/EXP/saida/${rodada}/

mkdir -p ${dirout}

if (( $dia == 5 )) then ;
dataprev=`$caldate $rodada + 132hr  'yyyymmddhh'`
elif (( $dia == 9 )) then ;
dataprev=`$caldate $rodada + 228hr  'yyyymmddhh'`
fi

arqout=${exp}_${niveis}N_${rodada}+${dataprev}_${dia}dy

echo $niveis $exp $rodada
echo $arqout

cat << EOF > /scratchout/grupos/apgmet/home/joao.araujo/EXP/scripts/$rodada.gs

'open $dirin/globrun.ctl'

ti=$tempoi
tf=$tempof

'set t 'ti' 'tf
say result
'set t 'ti

'set x 1 1600'
'set y 1 801'
'set gxout fwrite'
'set fwrite -be -sq $dirout/$arqout.bin'

****************** VARIAVEIS NÍVEIS N ********************************

**************** TEMPERATURA *****************************************

N=1
while(N<=31)
'set z 'N
'd ave(tsl,t='ti',t='tf')'
N=N+1
endwhile

*************** U COMP. ********************************************

N=1
while(N<=31)
'set z 'N
'd ave(usp,t='ti',t='tf')'
N=N+1
endwhile

*************** V COMP. ********************************************

N=1
while(N<=31)
'set z 'N
'd ave(vsp,t='ti',t='tf')'
N=N+1
endwhile

*************** UMIDADE ESPECIFICA *********************************

N=1
while(N<=31)
'set z 'N
'd ave(qsl,t='ti',t='tf')'
N=N+1
endwhile

*************** ALTURA GEOPOTENCIAL ********************************

N=1
while(N<=31)
'set z 'N
'd ave(hgt,t='ti',t='tf')'
N=N+1
endwhile

****************** VARIAVEIS SFC ***********************************

*************** PLM ***********************************************

'd ave(plm,t='ti',t='tf')'

*************** PNMM ***********************************************

'd ave(pslp,t='ti',t='tf')'

*************** TP2M ***********************************************

'd ave(tshltr2,t='ti',t='tf')'

*************** PRECIPITACAO ***************************************

**TOTAL**

'd sum(acprec,t='ti',t='tf')'

**CONVECTIVA**

'd sum(cuprec,t='ti',t='tf')'

**MICROFISICA**

'd sum(aprec,t='ti',t='tf')'

'disable fwrite'




rc=write('$dirout/$arqout.ctl', 'DSET ^$arqout.bin')
rc=write('$dirout/$arqout.ctl', 'options sequential big_endian ')
rc=write('$dirout/$arqout.ctl', 'UNDEF -9999. ')
rc=write('$dirout/$arqout.ctl', 'TITLE GEF output variables ') 
rc=write('$dirout/$arqout.ctl', 'XDEF   1600 LINEAR  0.0   0.225 ')
rc=write('$dirout/$arqout.ctl', 'YDEF  801 LINEAR  -90.00  0.225 ')
rc=write('$dirout/$arqout.ctl', 'ZDEF   31 LEVELS   1 2 3 5 7 10 20 30 50 70 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 925 950 975 1000 ')
rc=write('$dirout/$arqout.ctl', 'TDEF   1 LINEAR 00Z01Jan2018 1hr ')
rc=write('$dirout/$arqout.ctl', 'VARS  11 ')
rc=write('$dirout/$arqout.ctl', 'tsl      31  99     TEMPERATURE                                          [K] ')
rc=write('$dirout/$arqout.ctl', 'usp      31  99     U COMP. VEL./ZONAL WIND                              [m/s] ')
rc=write('$dirout/$arqout.ctl', 'vsp      31  99     V COMP. VEL./MERIDIONAL WIND                         [m/s] ')
rc=write('$dirout/$arqout.ctl', 'qsl      31  99     SPEC. HUMIDITY                                       [kg/kg] ')
rc=write('$dirout/$arqout.ctl', 'hgt      31  99     GEOPOTENTIAL HEIGHT                                  [gpm] ')
rc=write('$dirout/$arqout.ctl', 'plm      0  99      SURFACE PRESSURE                                     [hPa] ')
rc=write('$dirout/$arqout.ctl', 'pslp      0  99     SEA LEVEL PRESSURE                                   [hPa] ')
rc=write('$dirout/$arqout.ctl', 'tshltr2    0  99     2m TEMPERATURE                                      [K] ')
rc=write('$dirout/$arqout.ctl', 'acprec    0  99     ACCUMULATED TOTAL PRECIPITATION                      [m] ')   
rc=write('$dirout/$arqout.ctl', 'cuprec    0  99     ACCUMULATED CONVECTIVE PRECIPITATION                 [m] ')
rc=write('$dirout/$arqout.ctl', 'aprec     0  99     ACCUMULATED GRID-SCALE PRECIPITATION                 [m] ')
rc=write('$dirout/$arqout.ctl', 'ENDVARS ')

'quit'

EOF

/scratchout/grupos/apgmet/home/joao.araujo/EXP/scripts/grads -blc "run /scratchout/grupos/apgmet/home/joao.araujo/EXP/scripts/$rodada.gs"

rm -f /scratchout/grupos/apgmet/home/joao.araujo/EXP/scripts/$rodada.gs
