#!/bin/bash

data1=$1 #Data inicial do experimento.
data2=$2 #Data Final do experimento.
nlev=$3  #Numero de niveis vertical do modelo

Perio=${data1}${data2}

echo 
echo ">> Usando o GNUplot para gerar a figura dos valores de umidade näo fisicos no perfil "
echo ">> para os diferentes dominios no período"
echo 
echo "Data inicial:     "${data1}
echo "Data final:       "${data2}
echo "Numero de niveis: "${nlev}
echo
melev=`echo ${nlev} / 3 +1 | bc`
uplev=`echo ${melev} "*" 2 -1  | bc`
echo 
echo "Numero do topo da baixa troposfera: "${melev}
echo "Numero de topo da troposfera média: "${uplev}


hh=`echo ${data1} |cut -c 9-10`
YYYYMMANL=`echo ${data2} | cut -c 1-8`

seq 1 ${nlev} > nlev.txt

echo
echo "Chamando o GNUplot para as series >>>>"
echo 

#Usando o GNUplot para gerar as figuras das series do numero de pontos com umidade Não física nas camadas do perfil
/home/carlos.bastarz/miniconda3/envs/gnuplot/bin/gnuplot << EOF 
reset
set xtics format ""
set xdata time
set timefmt "%Y%m%d%H"
set format x "%d"

set terminal png size 1360,900 enhanced 
set output 'humNphy.seriesFrofile_${Perio}.png'

set multiplot layout 4, 2 title "Series Umidade Negativa nas camadas do perfil                                    Series Umidade Supersaturada nas camadas do perfil"
set tmargin 1
set bmargin 4

set object 2 rect from graph 0, graph 0 to graph 1, graph 1 behind
set object 2 rect fc rgb "#FFF9D9" fillstyle solid 1.0
set style fill pattern 2 bo 1
set grid lc rgb "black" 

set xrange ["${data1}":"${YYYYMMANL}${hh}"]
set xtics "${data1}",259200,"${YYYYMMANL}${hh}"

# Definicao dos estilos padrão dos protocolos
set style line 1 lc 1 lt 9 lw 3 pi -1 ps 1.0  # FisrtGuess Experimento
set style line 2 lc 2 lt 17 lw 3 pi -1 ps 1.0 # Analise Experimento
set style line 3 lc -1 lt -1 lw 2             # FisrtGuess Controle
set style line 4 lc 5  lt -1 lw 2             # Analise Controle
set style line 5 lc 14 lt 6 lw 3 pi -1 ps 1.0 # Diferenca FisrtGuess - Analise
set style line 6 lc 4 lt 12 lw 3 pi -1 ps 1.0 # Diferenca Experimento - controle

set style data linespoints
set key reverse bottom outside horizontal
#set key reverse Left outside
set ylabel "Upper troposphere " 
set lmargin 13
set rmargin 5
set xzeroaxis linetype 3 linewidth 3 lc rgb "black"
#set yrange [-0 : -20000]
plot 'URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))  ls 1 title 'Guess',\
     'URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))  ls 2 title 'Anali',\
     'CNT_URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))  ls 3  title 'Guess CNT',\
     'CNT_URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))  ls 4  title 'Anali CNT'

set style data linespoints
set lmargin 13
set rmargin 5
#set yrange [-0 : -20000]
plot 'URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))   ls 1 title 'Guess',\
     'URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))  ls 2 title 'Anali',\
     'CNT_URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))   ls 3 title 'Guess CNT',\
     'CNT_URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=${uplev}:${nlev}] column(col))   ls 4  title 'Anali CNT'

set style data linespoints
set key off
#set key reverse Left outside
set ylabel "Middle troposphere " 
set lmargin 13
set rmargin 5
#set yrange [-0 : -20000]
plot 'URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))   ls 1 title 'Guess',\
     'URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 2  title 'Anali',\
     'CNT_URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 4  title 'Anali CNT'

set style data linespoints
set key off
#set key reverse Left outside
set lmargin 13
set rmargin 5
#set yrange [-0 : -20000]
plot 'URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 1 title 'Guess',\
     'URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 2  title 'Anali',\
     'CNT_URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=${melev}:${uplev}] column(col))  ls 4  title 'Anali CNT'

set ylabel "Lower troposphere"
set key off
#set key reverse Left outside
set lmargin 13
set rmargin 5
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 1 title 'Guess',\
     'URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 2 title 'Anali',\
     'CNT_URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 4 title 'Anali CNT'
set key off
#set key reverse Left outside
set lmargin 13
set rmargin 5
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
set xzeroaxis linetype 3 linewidth 3 lc rgb "black"
plot 'URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 1 title 'Guess',\
     'URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 2 title 'Anali',\
     'CNT_URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${melev}] column(col))  ls 4 title 'Anali CNT'
set ylabel "Total number in the profile"
set xlabel "Tempo (Dia)"
set key off
#set key reverse Left outside
set lmargin 13
set rmargin 5
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 1 title 'Guess',\
     'URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 2 title 'Anali',\
     'CNT_URntH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URntH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 4 title 'Anali CNT'

set key off
#set key reverse Left outside
set lmargin 13
set rmargin 5
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 1 title 'Guess',\
     'URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 2 title 'Anali',\
     'CNT_URstH_BAM.fct_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 3 title 'Guess CNT',\
     'CNT_URstH_BAM.anl_${Perio}.txt' using 1:(sum [col=2:${nlev}] column(col))  ls 4 title 'Anali CNT'

exit
EOF

paste nlev.txt PROF.URnegH_BAM.fct_${Perio}.txt > PROF.2URnegH_BAM.fct_${Perio}.txt
paste nlev.txt PROF.URnegH_BAM.anl_${Perio}.txt > PROF.2URnegH_BAM.anl_${Perio}.txt
paste nlev.txt PROF.CNT_URnegH_BAM.fct_${Perio}.txt > PROF.CNT_2URnegH_BAM.fct_${Perio}.txt
paste nlev.txt PROF.CNT_URnegH_BAM.anl_${Perio}.txt > PROF.CNT_2URnegH_BAM.anl_${Perio}.txt

paste nlev.txt PROF.URsatH_BAM.fct_${Perio}.txt > PROF.2URsatH_BAM.fct_${Perio}.txt
paste nlev.txt PROF.URsatH_BAM.anl_${Perio}.txt > PROF.2URsatH_BAM.anl_${Perio}.txt
paste nlev.txt PROF.CNT_URsatH_BAM.fct_${Perio}.txt > PROF.CNT_2URsatH_BAM.fct_${Perio}.txt
paste nlev.txt PROF.CNT_URsatH_BAM.anl_${Perio}.txt > PROF.CNT_2URsatH_BAM.anl_${Perio}.txt

maxcol2=`cat PROF.2URnegH_BAM.fct_${Perio}.txt | awk -F' ' '{print NF; exit}'`
maxcol=`echo ${maxcol2} - 1 | bc`
medcol=`echo ${maxcol} / 2 | bc`

echo "Chamando o GNUplot para os perfis >>>>" 
echo "Coluna media: " $medcol
echo "Coluna final: " $maxcol

#Usando o GNUplot para gerar as figuras com o numero de pontos com umidade Não física no perfil vertical
/home/carlos.bastarz/miniconda3/envs/gnuplot/bin/gnuplot << EOF 
reset

set terminal png size 1360,900 enhanced 
set output 'humNphy.Frofile_${Perio}.png'

set multiplot layout 1, 6 title "${data1}                Negative humidity profile              ${data2}                               ${data1}                    Supersaturated humidity profile               ${data2}"
set tmargin 1
set bmargin 4

set object 2 rect from graph 0, graph 0 to graph 1, graph 1 behind
set object 2 rect fc rgb "#FFF9D9" fillstyle solid 1.0
set style fill pattern 2 bo 1
set grid lc rgb "black" 

# Definicao dos estilos padrão dos protocolos
set style line 1 lc 1 lt 9 lw 3 pi -1 ps 1.0  # FisrtGuess Experimento
set style line 2 lc 2 lt 17 lw 3 pi -1 ps 1.0 # Analise Experimento
set style line 3 lc -1 lt -1 lw 2.5           # FisrtGuess Controle
set style line 4 lc 5  lt -1 lw 2             # Analise Controle
set style line 5 lc 14 lt 6 lw 3 pi -1 ps 1.0 # Diferenca FisrtGuess - Analise
set style line 6 lc 4 lt 12 lw 3 pi -1 ps 1.0 # Diferenca Experimento - controle

set style data linespoints
#set key off
set key reverse horizontal
#set key reverse Left outside
set ylabel "Vertical level " 
set xlabel "Number cases"
set tics font ",9"
set lmargin 7
set rmargin 0
#set xzeroaxis linetype 3 linewidth 3 lc rgb "black"
set xrange [0 : 400000]
set xtics 0,100000,400000
plot 'PROF.2URnegH_BAM.fct_${Perio}.txt' using 2:1 ls 1 title 'Guess',\
     'PROF.2URnegH_BAM.anl_${Perio}.txt' using 2:1 ls 2 title 'Anali',\
     'PROF.CNT_2URnegH_BAM.fct_${Perio}.txt' using 2:1 ls 3 title 'Guess CNT',\
     'PROF.CNT_2URnegH_BAM.anl_${Perio}.txt' using 2:1 ls 4 title 'Anali CNT'

set style data linespoints
set key off
set ylabel ""
set xlabel "Number cases"
#set key reverse Left outside
set lmargin 3
set rmargin 3
#set yrange [-0 : -20000]
plot 'PROF.2URnegH_BAM.fct_${Perio}.txt' using ${medcol}:1  ls 1 title 'Guess',\
     'PROF.2URnegH_BAM.anl_${Perio}.txt' using ${medcol}:1  ls 2  title 'Anali',\
     'PROF.CNT_2URnegH_BAM.fct_${Perio}.txt' using ${medcol}:1  ls 3 title 'Guess CNT',\
     'PROF.CNT_2URnegH_BAM.anl_${Perio}.txt' using ${medcol}:1  ls 4  title 'Anali CNT'

set style data linespoints
set xlabel "Number cases"
set key off
#set key reverse Left outside
set lmargin 3
set rmargin 3
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'PROF.2URnegH_BAM.fct_${Perio}.txt' using ${maxcol}:1   ls 1 title 'Guess',\
     'PROF.2URnegH_BAM.anl_${Perio}.txt' using ${maxcol}:1   ls 2 title 'Anali',\
     'PROF.CNT_2URnegH_BAM.fct_${Perio}.txt' using ${maxcol}:1   ls 3 title 'Guess CNT',\
     'PROF.CNT_2URnegH_BAM.anl_${Perio}.txt' using ${maxcol}:1  ls 4 title 'Anali CNT'

set key off
#set key reverse Left outside
set xlabel "Number cases"
set lmargin 3
set rmargin 3
set tics out
set ytics nomirror
set xrange [-0 : 40000]
set xtics 0,10000,40000
set xzeroaxis linetype 3 linewidth 3 lc rgb "black"
plot 'PROF.2URsatH_BAM.fct_${Perio}.txt' using 2:1   ls 1 title 'Guess',\
     'PROF.2URsatH_BAM.anl_${Perio}.txt' using 2:1   ls 2 title 'Anali',\
     'PROF.CNT_2URsatH_BAM.fct_${Perio}.txt' using 2:1   ls 3 title 'Guess CNT',\
     'PROF.CNT_2URsatH_BAM.anl_${Perio}.txt' using 2:1   ls 4 title 'Anali CNT'

set xlabel "Number cases"
set key off
#set key reverse Left outside
set lmargin 3
set rmargin 3
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'PROF.2URsatH_BAM.fct_${Perio}.txt' using ${medcol}:1 ls 1 title 'Guess',\
     'PROF.2URsatH_BAM.anl_${Perio}.txt' using ${medcol} :1  ls 2 title 'Anali',\
     'PROF.CNT_2URsatH_BAM.fct_${Perio}.txt' using ${medcol}:1 ls 3 title 'Guess CNT',\
     'PROF.CNT_2URsatH_BAM.anl_${Perio}.txt' using ${medcol}:1  ls 4 title 'Anali CNT'

set key reverse horizontal
#set key reverse Left outside
set xlabel "Number cases"
set lmargin 3
set rmargin 3
set tics out
set ytics nomirror
#set yrange [-0 : -20000]
plot 'PROF.2URsatH_BAM.fct_${Perio}.txt' using ${maxcol}:1  ls 1 title 'Guess',\
     'PROF.2URsatH_BAM.anl_${Perio}.txt' using ${maxcol}:1  ls 2 title 'Anali',\
     'PROF.CNT_2URsatH_BAM.fct_${Perio}.txt' using ${maxcol}:1  ls 3 title 'Guess CNT',\
     'PROF.CNT_2URsatH_BAM.anl_${Perio}.txt' using ${maxcol}:1  ls 4 title 'Anali CNT'

exit
EOF

# Verificando se o arquivo foi criado
if [[ -e humNphy.seriesFrofile_${Perio}.png && -e  humNphy.Frofile_${Perio}.png ]]; then 
    echo 
    echo "Arquivos gerados: "
    echo humNphy.seriesFrofile_${Perio}.png humNphy.Frofile_${Perio}.png
    echo 
  else 
    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    echo "! Problemas na geracao dos arquivos no GNUplot     !"
    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    echo 
  fi

