Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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
Advertisement
Add Comment
Please, Sign In to add comment