#!/bin/bash
ARW_PATH=/spoa/WRFV33/ARWpost
export DISPLAY=:0.0
prontime=5
# Dias totales para pronostico despues del dia inicial
# obtencion de ficheros ctl para grads y generacion de nombres de archivo y de titulos para cada grafica.
hoy=$(date '+%b %e')
# hoy=$(date -d '1 day ago' '+%b %e')
# ayer=$(date -d '1 day ago')
# hoy=$(date -d '8 day ago' '+%b %e')
ano[0]=$(date -d '1day ago -5hours' '+%Y')
# ano[0]=$(date -d '16 day ago -5hours' '+%Y')
mes[0]=$(date -d '1day ago -5hours' '+%m')
# mes[0]=$(date -d '16 day ago -5hours' '+%m')
dia[0]=$(date -d '1day ago -5hours' '+%d')
# dia[0]=$(date -d '16 day ago -5hours' '+%d')
echo ${dia[0]} ${mes[0]}
for (( COUNTER=1; COUNTER<=$prontime; COUNTER++ )) ; do
# let "dias=$COUNTER"
let "dias=$COUNTER-1"
# ano[$COUNTER]=$(date -d '1day ago +'$dias'days-5hours' '+%Y')
ano[$COUNTER]=$(date -d +$dias'days-5hours' '+%Y')
# Fechas sucesivas hasta 4 dias sgtes a la fecha: Ano
# ano[$COUNTER]=$(date -d '1 day ago'+$dias'days-5hours' '+%Y')
# Fechas sucesivas hasta 4 dias sgtes a la fecha: Ano
# mes[$COUNTER]=$(date -d '1day ago +'$dias'days-5hours' '+%m')
mes[$COUNTER]=$(date -d +$dias'days-5hours' '+%m')
# Mes
# mes[$COUNTER]=$(date -d '1 day ago'+$dias'days-5hours' '+%m')
# Mes
# dia[$COUNTER]=$(date -d '1day ago +'$dias'days-5hours' '+%d')
dia[$COUNTER]=$(date -d +$dias'days-5hours' '+%d')
# dia[$COUNTER]=$(date -d '16 day ago'+$dias'days-5hours' '+%d')
# Dia
echo ${dia[$COUNTER]}
# dia[$COUNTER]=$(date -d '1 day ago'+$dias'days-5hours' '+%d')
# Dia
done
#ultimo dia (para pronostico unicamente de las 00 horas despues del 4to dia de pronostico
# ano[5]=$(date -d +5days '+%Y')
# Ano
# mes[5]=$(date -d +5days '+%m')
# Mes
# dia[5]=$(date -d +5days '+%d')
# Dia
# tlapse=('48' '72' '96' '120' '144')
# dom=('d01' 'd02' 'd03')
# Dominios
dom=('d01') # Dominios #Nov-18: Cambio a un solo dominio d01
prm=('presion_vientos' 'vientos' 'nubes_bajas' 'nubes_medias' 'nubes_altas' 'lluvia_convect' 'lluvia_noconvect' 'lluvia_total') # Variables
# hrs=('00' '06' '12' '18') # Pronosticos dia actual
# hrs=('00z' '06z' '12z' '18z')
hrs=('19R' '01R' '07R' '13R')
hr2=('01R' '07R' '13R' '19R')
fil1="arwpst.gs"
fil2="grds_title"
# declare -a ctlf
cd $ARW_PATH
rm -f "$fil1"
touch "$fil1"
hoy=$(date '+%b %e')
grdsctl=(`ls -l *.ctl | awk '/'"$hoy"'/ {print substr($9,-4,9)}'| grep [[:digit:]]`)
rm -f "$fil1"
touch "$fil1"
# ctlf=("${grdsctl[@]}")
cntdom=0
for dom_ in "${dom[@]}"; do
echo "'open "${grdsctl[$cntdom]}"'" >> $fil1
echo "'set mpdset hires'" >> $fil1
echo "'set MAP 1 1 10'" >> $fil1
echo "'set z 1'" >> $fil1
for prm_ in "${prm[@]}"; do
if [ $prm_ = 'presion_vientos' ] ; then
t=1
echo "'set gxout contour'" >> $fil1
for (( COUNTER=0; COUNTER<=$prontime; COUNTER++ )) ; do
if [ $COUNTER -eq $prontime ] ; then
hrs=('19R')
else
hrs=('19R' '01R' '07R' '13R')
fi
for hrs_ in "${!hrs[@]}"; do
# echo $hrs_
echo "'set t $t'" >> $fil1
echo "'set ccolor 1'" >> $fil1
if [ $hrs_ -gt 0 ] ; then
title=$prm_'_'${ano[$COUNTER+1]}'-'${mes[$COUNTER+1]}'-'${dia[$COUNTER+1]}'_'${hrs[$hrs_]}
else
title=$prm_'_'${ano[$COUNTER]}'-'${mes[$COUNTER]}'-'${dia[$COUNTER]}'_'${hrs[$hrs_]}
fi
echo "'d slp'" >> $fil1
echo "'set ccolor 11'" >> $fil1
echo "'set gxout barb'" >> $fil1
echo "'d skip(u,12);v'" >> $fil1
echo "'draw title $title'" >> $fil1
echo "'printim $title.png png x800 y600 white'"
echo "'printim $title.png png x800 y600 white'" >> $fil1
echo "'clear'" >> $fil1
let t=$t+1
done
done
elif [ $prm_ = 'vientos' ] ; then
z=('sup' '850mb' '700mb' '500mb' '200mb')
zlvl=('1' '4' '7' '11' '22')
echo "'set gxout vector'" >> $fil1
for (( contz=0; contz<5; contz++ )); do
t=1
for (( COUNTER=0; COUNTER<=$prontime; COUNTER++ )) ; do
if [ $COUNTER -eq $prontime ] ; then
hrs=('19R')
else
hrs=('19R' '01R' '07R' '13R')
fi
for hrs_ in "${!hrs[@]}"; do
echo "'set t $t'" >> $fil1
echo "'set z ${zlvl[$contz]}'" >> $fil1
if [ $hrs_ -gt 0 ] ; then
title=$prm_'_'${z[$contz]}'_'${ano[$COUNTER+1]}'-'${mes[$COUNTER+1]}'-'${dia[$COUNTER+1]}'_'${hrs[$hrs_]}
else
title=$prm_'_'${z[$contz]}'_'${ano[$COUNTER]}'-'${mes[$COUNTER]}'-'${dia[$COUNTER]}'_'${hrs[$hrs_]}
fi
echo "'d skip(u,7);v'" >> $fil1
echo "'draw title $title'" >> $fil1
echo "'printim $title.png png x800 y600 white'"
echo "'printim $title.png png x800 y600 white'" >> $fil1
echo "'clear'" >> $fil1
let t=$t+1
done
done
done
elif [ $prm_ = 'nubes_bajas' ] || [ $prm_ = 'nubes_medias' ] || [ $prm_ = 'nubes_altas' ] ; then
t=2
echo "'set z 1'" >> $fil1
echo "'set gxout shaded'" >> $fil1
for (( COUNTER=1; COUNTER<=$prontime; COUNTER++ )) ; do
# if [ $COUNTER -eq $prontime ] ; then
#
hr2=('19R')
#else
hr2=('01R' '07R' '13R' '19R')
#fi
# if [ $COUNTER -gt 0 ] ; then
#
hr2=('01R' '07R' '13R' '19R')
# else
#
hr2=('19R')
# fi
for hrs_ in "${!hr2[@]}" ; do
title=$prm_'_'${ano[$COUNTER]}'-'${mes[$COUNTER]}'-'${dia[$COUNTER]}'_'${hr2[$hrs_]}
# if [ $hrs_ -gt 0 ] ; then
# title=$prm_'_'${ano[$COUNTER+1]}'-'${mes[$COUNTER+1]}'-'${dia[$COUNTER+1]}'_'${hr2[$hrs_]}
# else
# title=$prm_'_'${ano[$COUNTER]}'-'${mes[$COUNTER]}'-'${dia[$COUNTER]}'_'${hr2[$hrs_]}
# fi
echo "'set t $t'" >> $fil1
if [ $prm_ = 'nubes_bajas' ] ; then
echo "'d clflo'" >> $fil1
elif [ $prm_ = 'nubes_medias' ] ; then
echo "'d clfmi'" >> $fil1
else echo "'d clfhi'" >> $fil1
fi
echo "'draw title $title'" >> $fil1
echo "'cbar'" >> $fil1
echo "'printim $title.png png x800 y600 white'"
echo "'printim $title.png png x800 y600 white'" >> $fil1
echo "'clear'" >> $fil1
let t=$t+1
done
done
#May-05: Nuevas graficas de precipitacion
elif [ $prm_ = 'lluvia_convect' ] || [ $prm_ = 'lluvia_noconvect' ] || [ $prm_ = 'lluvia_total' ] ; then
# hrs=('19R') # Pronosticos dia actual
# echo "'set clevs 5 10 20 30 40 50 60 '" >> $fil1
# echo "'set ccols 0 4 11 3 10 7 8 2'" >> $fil1
# title=$prm_'_'${ano[0]}'-'${mes[0]}'-'${dia[0]}'_'$hrs
# if [ $prm_ = 'lluvia_convect' ] ; then
# echo "'d rainc(t=5)-rainc(t=3)'" >> $fil1
# elif [ $prm_ = 'lluvia_noconvect' ] ; then
# echo "'d rainnc(t=5)-rainnc(t=3)'" >> $fil1
# else echo "'d rainc(t=5)+rainnc(t=5)-rainc(t=3)-rainnc(t=3)'" >> $fil1
# fi
# echo "'draw title $title'" >> $fil1
# echo "'cbar'" >> $fil1
# echo "'printim $title.png png x800 y600 white'"
# echo "'printim $title.png png x800 y600 white'" >> $fil1
# echo "'clear'" >> $fil1
span=0 #intervalo de t
for (( COUNTER=1; COUNTER<=$prontime; COUNTER++ )) ; do
ano_s=${ano[$COUNTER]}
mes_s=${mes[$COUNTER]}
dia_s=${dia[$COUNTER]}
if [ $COUNTER -gt 1 ] ; then
hrs_s=('07R' '19R') # Pronosticos dia siguiente
else
hrs_s=('19R')
fi
for hrs_s_ in "${hrs_s[@]}"; do
echo "'set clevs 5 10 20 30 40 50 60'" >> $fil1
echo "'set ccols 0 4 11 3 10 7 8 2'" >> $fil1
title=$prm_'_'$ano_s'-'$mes_s'-'$dia_s'_'$hrs_s_
if [ $prm_ = 'lluvia_convect' ] ; then
# echo "'d rainc(t=$(((7+span))))-rainc(t=$(((5+span))))'" >> $fil1
echo "'d rainc(t=$(((5+span))))-rainc(t=$(((3+span))))'" >> $fil1
elif [ $prm_ = 'lluvia_noconvect' ] ; then
# echo "'d rainnc(t=$(((7+span))))-rainc(t=$(((5+span))))'" >> $fil1
echo "'d rainnc(t=$(((5+span))))-rainnc(t=$(((3+span))))'" >> $fil1
# else echo "'d rainc(t=$(((7+span))))+rainnc(t=$(((7+span))))-rainc(t=$(((5+span))))-rainnc(t=$(((5+span))))'" >> $fil1
else echo "'d rainc(t=$(((5+span))))+rainnc(t=$(((5+span))))-rainc(t=$(((3+span))))-rainnc(t=$(((3+span))))'" >> $fil1
fi
echo "'draw title $title'" >> $fil1
echo "'cbar'" >> $fil1
echo "'printim $title.png png x800 y600 white'"
echo "'printim $title.png png x800 y600 white'" >> $fil1
echo "'clear'" >> $fil1
let span=$span+2
done
done
fi
done
let cntdom=$cntdom+1
done
# Graficas Capitanias:
capi_names=('Islasi del Rosario' 'aero' 'sadid' 'Bocagrande' 'Bocas de Ceniza' 'Santa Marta' 'Puerto Bolivar' 'Capurgana' 'Covenas' 'San Andres' 'Providencia')
capi_namrc=('islas_rosario' 'aero' 'sadid' 'bocagrande' 'bocas_ceniza' 'santa_marta' 'puerto_bolivar' 'capurgana' 'covenas' 'san_andres' 'providencia')
capi_lat=(10.257492 10.45 10.36 10.412858 11.116507 11.253501 12.276102 8.630921 9.595334 12.601224 13.414000)
capi_lon=(-75.666275 -75.52 -75.58 -75.562506 -74.853973 -74.825779 -71.966629 -77.331467 -75.73288 -81.691332 -81.325264)
capi_var=('wspd' 'wdir' 'rh' 'slp')
capi_des=('vel_viento_(m/s)' 'dir_viento' 'h_relativa' 'presion')
capi_arc=('velviento' 'dirviento' 'humedad' 'presion')
cLatLon=0
echo "'set t 1 21'" >> $fil1
for capi_ in "${capi_names[@]}"; do
echo "'set lat ${capi_lat[$cLatLon]}'" >> $fil1
echo "'set lon ${capi_lon[$cLatLon]}'" >> $fil1
vars=0
for var in "${capi_var[@]}"; do
echo "'d $var'" >> $fil1
echo "'draw title ${capi_des[$vars]} pronostico a 5 dias ${ano[0]}-${mes[0]}-${dia[0]} $capi_'" >> $fil1
echo "'printim ${capi_arc[$vars]}_${ano[0]}-${mes[0]}-${dia[0]}_${capi_namrc[$cLatLon]}.png png x800 y600 white'" >> $fil1
echo "'printim ${capi_arc[$vars]}_${ano[0]}-${mes[0]}-${dia[0]}_${capi_namrc[$cLatLon]}.png png x800 y600 white'"
echo "'c'" >> $fil1
let vars=$vars+1
done
let cLatLon=$cLatLon+1
done
echo "'close 1'" >> $fil1
echo "'quit'" >> $fil1
exit 0
Comments