#!/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