#! /bin/bash 
#--------------------------------------------------------------------#
#                    obsConv - GDAD/CPTEC/INPE - 2017                #
#--------------------------------------------------------------------#
#BOP
#
# !DESCRIPTION:
#  Ferramenta de diagnostico da assimilacao de dados de ship (boias e navios)
#  de estacoes convencionais na assimilacao de dados usando o GSI
#
# !INTERFACE:
#    ./run_obsConv_obsType.sh LABELINI LABELFIM NHOURS OmA  GSI_system EXPE GSIOUTpath
#
#    Onde:
#         => LABELINI  : Data da analise [%y4%m2%d2%h2]
#         => LABELFIM  : Data da analise Final [%y4%m2%d2%h2]
#         => NHOURS    : Incremento entre analises [+Nh] - N = numero de horas: Ex. "6"
#         => OmF or OmA: Selecione o que deseja avaliar OmF ou OmA. 
#         => GSI_system: Label do sistema de modelagem com o GSI: Ex. "SMG" "RMS"
#         => EXPE      : Label do experimento onde se destina os dados de saida: Ex. "EXPE"
#         => GSIOUTpath: Path of the diag file of GSI dataout organized by date yyyymmddhh
#
#  !EXAMPLES:  
#    ./run_obsConv_obsType.sh 2013010100 2013010818 CPT 62 28 06 OmA SMG EXPE $WORK_HOME/SMG/datainout/gsi/dataout
#
#  !TESTCASE:
#  Digite sem argumentos de entrada para o testcase do sistema hospedeiro, da forma:
#    ./run_obsConv_obsType.sh              
#  Digite a palavra testcase no primeiro argumento para o testcase padrão (gdad/public):
#    ./run_obsConv_obsType.sh testcase
#
# !REVISION HISTORY:
#  22-06-2017 - Luiz Sapucci - Codigo Inicial baseado no run_humNphy.sh
#  18-08-2017 - Luiz Sapucci - Implementacao inicial do protocolo usando o obsGnss como base
#  28-08-2018 - Luiz Sapucci - Ajustando para o Python e outras melhorias
#  25-09-2018 - Luiz Sapucci - Ajustes para funcionar no SMR.
#  09-11-2022 - Luiz Sapucci - Ajustando para o EGEON com o readDiag-1.0.0
#  11/09/2023 - Luiz Sapucci - Ajustando para submeter o processo na EGEON
#
#
# !REMARKS:
#  Falta testes para o sistema SMR com o readDiag-1.0.0.
#  O readDiag-1.0.0 faz a leitura dos dados do diag do gsi concatenados em um unico arquivo..
#
# !BUGS:
#  1- 
#
#EOP
#--------------------------------------------------------------------#
#BOC

# Descomente abaixo para debugar
#set -o xtrace

# Tipo de dados entre os convencionais
obsType=srfshp

# Verificando argumentos de entrada se testcase
if [ "${1}" = "testcase" ]
then
  export LABELI=2020010100
  export LABELF=2020010812  
  export FCT=06
  export OmFOmA="OmA"
  
##########################
  if [ -z "${2}" ]
  then
    export nome_sys="SMNA"
  else
    export nome_sys=${2} 
  fi
  export EXPE="testcase"

  
  export GSIout=/mnt/beegfs/das.group/testcase/SMNAexp15/GSI/dataout
  
  echo -e ""
  echo -e "\033[31;1m  ATENCAO !!! usando dados do gdad/public \033[m"
  echo -e "\033[31;1m RODANDO COM PARAMETROS DO TESTCASE PADRÃO \033[m"
  echo -e ""
  echo -e "\033[33;1m ./run_obsConv_${obsType}.sh ${LABELI} ${LABELF}  ${FCT} ${OmFOmA} ${nome_sys} ${EXPE} ${GSIout} \033[m"
  echo -e ""
else

# Verificando se ajuda
  if [ "${1}" = "ajuda" ]
    then
    echo -e ""
    echo -e "\033[33;1m Ferramenta de diagnostico da assimilacao de dados de \033[m"
    echo -e "\033[33;1m de estacoes convencionais na assimilacao de dados usando o GSI\033[m"
    echo -e ""
    echo -e "\033[33;1m !INTERFACE:\033[m"
    echo -e "\033[33;1m ./run_obsConv_${obsType}.sh LABELINI LABELFIM NHOURS OmA GSI_system EXPE GSIout \033[m"
    echo -e ""
    echo -e "\033[32;1m Digite com a palabra testcase no primeiro argumento para o testcase padrão:\033[m"
    echo -e "\033[32;1m ./run_obsConv_${obsType}.sh testcase <GSI_system> \033[m"
    echo -e ""
    exit 
  fi
  
echo -e ""
echo -e "\033[34;1m > obsConv_${obsType}: Ferramenta de diagnostico da assimilacao de dados de \033[m"
echo -e "\033[34;1m >          estacoes convencionais na assimilacao de dados usando o GSI \033[m"

  
  # Verificando argumentos de entrada
  if [ -z "${1}" ]
  then
    export LABELI=2020010100
  else
    export LABELI=${1}
  fi
  if [ -z "${2}" ]
  then
    export LABELF=2020010818
  else
    export LABELF=${2} 
  fi
  if [ -z "${3}" ]
  then
    export FCT=06
  else
    export FCT=${3}
  fi
  if [ -z "${4}" ]
  then
    export OmFOmA="OmA"
  else
    export OmFOmA=${4}
  fi
  if [ -z "${5}" ]
  then
    export nome_sys="SMNA"
  else
    export nome_sys=${5}
  fi
  if [ -z "${6}" ]
  then
    export EXPE="EXPE"
  else
    export EXPE=${6}
  fi
  if [ -z "${7}" ]
  then
    export GSIout=/mnt/beegfs/$USER/${nome_sys:0:4}/datainout/gsi/dataout
  else
    export GSIout=${7}
  fi

############################
  if [ $# -eq 0 ]
   then
     echo -e ""
     echo -e "\033[31;1m          !!! ATENCAO !!!\033[m"
     echo -e "\033[31;1m RODANDO COM PARAMETROS DO TESTCASE DO SISTEMA HOSPEDEIRO \033[m"
     echo -e ""
     echo -e "\033[33;1m ./run_obsConv_${obsType}.sh ${LABELI} ${LABELF} ${FCT} ${OmFOmA} ${nome_sys} ${EXPE} ${GSIout}\033[m"
     echo -e ""
     echo -e "\033[31;1m ATENCAO!! CASO NÁO TENHA RODADO O TESTCASE DO SISTEMA DARÁ ERRO \033[m"
     echo -e "\033[31;1m NESSE CASO UTILIZE O TESTCASE PADRÄO DIGITANDO: "
     echo -e ""
     echo -e "\033[33;1m ./run_obsConv_${obsType}.sh testcase <GSI_system>  \033[m"
     echo ""
     echo -ne "\033[31;1m > Deseja continuar? (S/N) \033[m"
     read resposta

    if [[ ${resposta} != "S" && ${resposta} != "s" ]]
    then
      echo ""
      echo -e "\033[34;1m  Saindo do protocolo!!! \033[m"
      echo ""
      exit
    fi

  fi

fi

# Verificando se esta logado no eslogin02
if [ ${HOSTNAME:0:7} = "eslogin" ];then
     echo "#####################################################################"
     echo "#                                                                   #"
     echo "#               Voce esta logado no ${HOSTNAME}                     #"
     echo "#                                                                   #"
     echo "# O python no tupa funciona corretamente apenas no eslogin02.       #"
     echo "# Logue nesse servidor antes de proceguir,se for o caso digitando   #"
     echo "# $ ssh eslogin02 -XC                                               #"
     echo "#                                                                   #"
     echo "#####################################################################"
     
     if [ ${HOSTNAME:8:9} = "02" ];then
       . /opt/modules/default/etc/modules.sh
       module swap PrgEnv-pgi PrgEnv-gnu >& /dev/null
       echo "#                                                                   #"
       echo "#####################################################################"
     else
       echo "# O python no tupa funciona corretamente apenas no eslogin02.       #"
       echo "# Logue nesse servidor antes de proceguir,se for o caso digitando   #"
       echo "# $ ssh eslogin02 -XC                                               #"
       echo "#                                                                   #"
       echo "#####################################################################"
     fi
fi

echo -e ""
echo -e "\033[34;1m CONFIGURACAO DA RODADA \033[m"
echo -e ""
echo -e "\033[34;1m > Obs Type          : \033[m \033[31;1m${obsType}\033[m"
echo -e "\033[34;1m > Data Inicial      : \033[m \033[31;1m${LABELI}\033[m"
echo -e "\033[34;1m > Data Final        : \033[m \033[31;1m${LABELF}\033[m"
echo -e "\033[34;1m > Intervalo do ciclo: \033[m \033[31;1m${FCT}\033[m"
echo -e "\033[34;1m > Opcao OmF ou OmA  : \033[m \033[31;1m${OmFOmA}\033[m"
echo -e "\033[34;1m > Sistema hospedeiro: \033[m \033[31;1m${nome_sys}\033[m"
echo -e "\033[34;1m > Experimento label : \033[m \033[31;1m${EXPE}\033[m"
echo -e "\033[34;1m > GSI dataout(Diags): \033[m \033[31;1m${GSIout}\033[m"

# Exportando variaveis do eval
echo ""
source  ../../../config_eval.sh vars_export ${nome_sys} ${EXPE}

if test ! -d ${obsConv_work}/dataout/logfile; then
    echo "Criando a arvore de diretorio para esse experimento e protocolo: " ${nome_sys} ${EXPE}
    echo "../../../config_eval.sh configurar ${nome_sys} ${EXPE}"
    ../../../config_eval.sh configurar ${nome_sys} ${EXPE}
    echo "${obsConv_home}/config_obsConv.ksh configurar ${nome_sys} ${EXPE}"
    ${obsConv_home}/config_obsConv.ksh configurar ${nome_sys} ${EXPE}
    if test ! -d ${obsConv_work}/dataout/logfile; then echo "${obsConv_work}/dataout/logfile"; echo "Rodada cancelada!!!" ;exit; fi
else 
   echo "Arvore de diretorio do experimento" ${EXPE} "ja existentente para o protocolo"; 
   echo ""
fi

## Exportando variaveis do obsConv
source  ${obsConv_home}/config_obsConv.ksh vars_export ${nome_sys} ${EXPE}

########################################################################################
echo -e "\033[33;1m Com os dados de saida do GSI lidos em \033[m"
echo -e "\033[33;1m ${GSIout} \033[m" 

#criando diretorio das figuras do periodo e temporarios para gerar gif animado
PERIOD=${LABELI}${LABELF}
LABELINI=${LABELI}
mkdir -p ${obsConv_figu}/${obsType}/${PERIOD} 
mkdir -p ${obsConv_page}/${obsType}/${PERIOD} 
tempANL=${obsConv_figu}/${obsType}/${PERIOD}/tempANL/
mkdir -p ${tempANL}

mkdir -p ${obsConv_work_run}/${obsType}
cd ${obsConv_work_run}/${obsType}
echo 

LABELF2=`${inctime} ${LABELF} +120h %y4%m2%d2%h2`

#Arquivo de log da rodada
logfile=${obsConv_logs}/obsConv_${obsType}_${LABELI}_${LABELF}.log

echo ""
echo -e "\033[34;1m >>> Submetendo o dignostico \033[33;1m obsConv \033[m no sistema ${nome_sys} \033[34;1m para o periodo \033[m \033[31;1m${LABELI} ${LABELF}\033[m \033[m"
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%" > ${logfile}
echo " >>> Submetendo o dignostico \033[33;1m obsConv no sistema ${nome_sys} para o periodo ${LABELI} ${LABELF}" >> ${logfile}
echo "" 
echo -e "\033[36;1m >>>> Arquivo de log dessa rodada:\033[m " 
echo -e "\033[33;1m ${logfile} \033[m "

########################################################################################
# Gerando as figuras da distribuicao espacial
# gerando o script do python para gerar as figuras

cat << EOF > ./runPython.py
#! /usr/bin/env python3

import gsidiag as gd
from datetime import datetime, timedelta
import pandas as pd
import matplotlib.pyplot as plt

DIRdiag = "${GSIout}"

varName = "uv"
varType = 280
dateIni="LABELI" 
dateFin="LABELF" 
nHour = "6"          
Level = 1000
Lay = None           
SingleL = "All" 

datei = datetime.strptime(str(dateIni), "%Y%m%d%H")
datef = datetime.strptime(str(dateFin), "%Y%m%d%H")
dates = [dates.strftime('%Y%m%d%H') for dates in pd.date_range(datei, datef,freq="6H").tolist()]

print(dates)

paths, pathsc = [], []

OuterL = "01"        
[paths.append(DIRdiag+"/"+dt+"/diag_conv_"+OuterL+"."+dt) for dt in dates]

OuterLc = "03"
[pathsc.append(DIRdiag+"/"+dt+"/diag_conv_"+OuterLc+"."+dt) for dt in dates]

print(paths)
print(pathsc)


read = True
if read:        
    gdf_list = []
    print("")
    print("Aguarde, o tempo total estimado para a leitura dos arquivos e de "+
          str(int((float(len(paths))*20 )/60))+" minutos e "+
          str(int((float(len(paths))*20 )%60))+" segundos.")
    print("")
    for path, pathc in zip(paths,pathsc):
        print("Reading "+path+pathc)
        gdf = gd.read_diag(path,pathc)
        gdf_list.append(gdf)
    print("Done!") 

gdf_list


# Fazendo o loop para as datas do periodo para os plots espaciais

varNames=['ps','t','q']
param = "obs"

numer = range(len(dates))

print('Numero de datas: ', numer)

for i in range(len(dates)):
    tidx = i
    varTypesT = [180,182]
    print('%%%%%%%%%%%%%% PUP PII %%%%%%%%%%%%%%%%%%%%')
    print('>> Gerando as figuras para a data',dates[i])
    print("vartypesT antes : ", varTypesT)
    print('pfileinfo: ')
    gdf_list[tidx].pfileinfo()
    for j in varNames:
        varName = j    
        for kx in varTypesT: # loop sobre os valores de kx da temperatura
            kxoverview = gdf_list[tidx].overview()[varName]; # kxoverview e uma lista com os kx da variavel j
            if kx not in kxoverview: # se o kx da lista kxList nao estiver dentro da lista overview...
                varTypesT.remove(kx);
	    
        for k in varTypesT:
            varType = k
            print("Plotando para a variavel: ", varName, "Tipo: ",varType)
            gd.plot_diag.plot(gdf_list[tidx],varName=varName,varType=varType,param=param,mask='iuse == 1',legend='true')
            figname=varName+"_"+str(varType)+"_"+param+"_"+dates[i]+"_"+"plot.png"
            plt.tight_layout()
            plt.savefig(figname)
            plt.close() 
            gdf_lis = []
            gdf_lis.append(gdf_list[i])
            gd.plot_diag.statcount(gdf_lis,  varName=varName, varType=varType, noiqc=True, dateIni=dates[i], dateFin=dates[i], nHour=nHour, figTS=False, figMap=True)
            plt.close() 
        
    varTypes = [280,282]
    varName = 'uv'
    print("vartypes Vento antes: ", varTypes)
    for kx in varTypes: # loop sobre os valores de kx
        kxoverview = gdf_list[0].overview()['uv']; # kxoverview e uma lista com os kx da variavel uv
        if kx not in kxoverview: # se o kx da lista kxList nao estiver dentro da lista overview...
            varTypes.remove(kx); # remove o kx da lista kxList
    print("Plotando para a variavel: ", varName, "Tipo: ",varTypes)  
    gd.plot_diag.ptmap(gdf_list[tidx],varName=varName,varType=varTypes)
    figname=varName+"_"+param+"_"+dates[i]+"_"+"plot.png"
    plt.tight_layout()
    plt.savefig(figname)
    plt.close()
    varType = 280    
    gd.plot_diag.statcount(gdf_lis,  varName=varName, varType=varType, noiqc=True, dateIni=dates[i], dateFin=dates[i], nHour=nHour, figTS=False, figMap=True)
    plt.close()
    print('')
    varType = 282    
    gd.plot_diag.statcount(gdf_lis,  varName=varName, varType=varType, noiqc=True, dateIni=dates[i], dateFin=dates[i], nHour=nHour, figTS=False, figMap=True)
    plt.close()
    print('')

#### Figuras do time series
#Loop para as variaveis e 
print('')
print('%%%%%%%%%%%%%% PUP PII %%%%%%%%%%%%%%%%%%%%')
print('>> Gerando as figuras da serie temporal')

varNames=['ps','t','q','uv1','uv2']
for i in varNames:
    varName = i
    varType= 180
    vminOMA = -6.0       
    vmaxOMA = 6.0 
    vminSTD = 0.0        
    vmaxSTD = 6.0     

    if i == 'uv1':     
        varName = 'uv'     
        varType= 280  

    if i == 'uv2':     
        varName = 'uv'     
        varType= 282 

    if i == 't':
        vmaxOMA = 8.0
        vminSTD = 0.0        
        vmaxSTD = 10.0 
		      
    if i == 'q':
        vminSTD = 0.0        
        vmaxSTD = 2.0   

    if i == 'ps':
        vminOMA = -4.0       
        vmaxOMA = 4.0        
        vminSTD = 0.0        
        vmaxSTD = 10.0 
	
    print("Variaveis: ", varName, "Tipo: ",varType)	    
    # camada unica toda a atmosfera Level=1000  SingleL="all" por default 
    # label Figure: "_layer_allAtm.png" 
    # Figuras geradas: OmF, OmA e OmFOmA OmFOmA_StdDev
    gd.plot_diag.time_series(gdf_list,varName=varName, varType=varType, dateIni=dateIni, dateFin=dateFin,     nHour=nHour, vminOMA=vminOMA, vmaxOMA=vmaxOMA, vminSTD=vminSTD, vmaxSTD=vmaxSTD, Level=Level, Lay=Lay, SingleL=SingleL,Clean=False)
    plt.close() 
    
    # Todas as camadas com niveis padroes do GSI Level = "Zlevs" 
    # com especura maxima preenchendo toda a atmosfera verticalmente
    # label Figure: _all_levels_filledLayers.png
    # Figuras geradas: OmF, OmA
    Level = "Zlevs"
    Lay = None
    gd.plot_diag.time_series(gdf_list,varName=varName, varType=varType, dateIni=dateIni, dateFin=dateFin, nHour=nHour, vminOMA=vminOMA, vmaxOMA=vmaxOMA, vminSTD=vminSTD, vmaxSTD=vmaxSTD, Level=Level, Lay=Lay, SingleL=SingleL,Clean=False)
    plt.close() 
    
   # Primeira camadas da atmsofera
   # Media 950 com espessura de 50 (1000-900)
   # label Figure: "_layer_1000-900hPa.png"
   # Figuras geradas: OmF, OmA e OmFOmA OmFOmA_StdDev
    SingleL = "OneL"
    Level = 950
    Lay = 50
    gd.plot_diag.time_series(gdf_list,varName=varName, varType=varType, dateIni=dateIni, dateFin=dateFin, nHour=nHour, vminOMA=vminOMA, vmaxOMA=vmaxOMA, vminSTD=vminSTD, vmaxSTD=vmaxSTD, Level=Level, Lay=Lay, SingleL=SingleL,Clean=False)
    plt.close() 

    if varType == '280': 
        # Segunda camada da Atmosfera 
        # Media 850 com espessura de 50 (900-800)
        # label Figure: "_layer_900-800hPa.png"
        # Figuras geradas: OmF, OmA e OmFOmA OmFOmA_StdDev
        SingleL = "OneL"
        Level = 850
        Lay = 50
        gd.plot_diag.time_series(gdf_list,varName=varName, varType=varType, dateIni=dateIni, dateFin=dateFin, nHour=nHour, vminOMA=vminOMA, vmaxOMA=vmaxOMA, vminSTD=vminSTD, vmaxSTD=vmaxSTD, Level=Level, Lay=Lay, SingleL=SingleL,Clean=False)
        plt.close() 

print('')
print('%%%%%%%%%%%%%%%%%%%%% PUP PII %%%%%%%%%%%%%%%%%%%%%%%%%%%')
print('>> Gerando as figuras aceitos e rejeitados serie temporal')

varType=180
varNames=['ps','t','q','uv1','uv2']
for i in varNames:
    varName = i

    if i == 'uv1':
        varName = 'uv'             
        varType= 280  

    if i == 'uv2':
        varName = 'uv'             
        varType= 282 

    print("Variaveis: ", varName, "Tipo: ",varType)	    
    gd.plot_diag.statcount(gdf_list,  varName=varName, varType=varType, noiqc=True, dateIni=dateIni, dateFin=dateFin, nHour=nHour, figTS=True, figMap=False)
    plt.close() 

print("")
print("----------------- Fim da rodada do Python --------------------")

EOF

rm -rf runPythonFig.py 

sed -e "s/LABELI/${LABELI}/g" -e "s/LABELF/${LABELF}/g" runPython.py > runPythonFig.py 

chmod 755 runPythonFig.py

#Para rodar na maquina local sem submeter descomente as duas linhas abaixo e comente a submisso na egeon
#source /home/carlos.bastarz/.conda/envs/readDiag/bin/activate
#./runPythonFig.py 

###########################
# Submetendo o processo na EGEON

HMS=`date +'%F.%H%M'`

cat << EOF > ./runPython.sbt
#! /bin/bash
#SBATCH --job-name=DiagShip
#SBATCH --nodes=1
#SBATCH --partition=PESQ2
#SBATCH --tasks-per-node=128
#SBATCH --time=04:00:00
#SBATCH --output=${obsConv_work_run}/${obsType}/runPythonFigShip.${HMS}.sbt.log

cd ${obsConv_work_run}/${obsType}

echo "Activando o anbiente ReadDiag na egeon"
source /home/luiz.sapucci/.conda/envs/readDiag/bin/activate
#source /home/carlos.bastarz/.conda/envs/readDiag/bin/activate
echo "Rodando o runPythonFig.py com o python em:"
echo "/home/luiz.sapucci/.conda/envs/readDiag/bin/python"
mpirun -np 1 /home/luiz.sapucci/.conda/envs/readDiag/bin/python -u runPythonFig.py >> runPythonFigShip.${HMS}.sbt.out 2>&1

EOF

chmod 755 runPython.sbt

# Submetendo o script com a opo -W para ficar preso 
# esperando terminar para continuar as tarefas posteriores

echo "" 
echo -e "\033[36;1m >>>> Para acompanhar o processo submetido digite em outro terminal:\033[m " 
echo -e "\033[33;1m tail -f ${obsConv_work_run}/${obsType}/runPythonFigShip.${HMS}.sbt.out \033[m "
echo "" 

sbatch -W runPython.sbt

# se desejar subnmeter no n de submisso faa
#source /home/luiz.sapucci/.conda/envs/readDiag/bin/activate
#./runPythonFig.py >> ${logfile}
  
##############################################################################
#####################################################################################
 
# Movendo figuras geradas para ${obsConv_figu}
# Movendo figuras geradas para ${obsConv_figu}
echo 
echo -e "\033[36;1m >>>> Movendo figuras geradas para obsConv_figu \033[m"
ls *.png
cp *.png ${tempANL}
cp time_series_*.png ${obsConv_page}/${obsType}/${PERIOD} 
mv *.png ${obsConv_figu}/${obsType}/${PERIOD}/

# Geracao dos Figs animados do periodo dos plots da distribuicao espacial
echo ""
echo " Gerando as figs animados usando convert"
echo " Processo computacionalmente custoso!! Aguarde..."
echo ""

# Copiando as figuras para montar o gif
cd ${tempANL}

# Gerando o gif da ANL
${convert} -dispose Background -delay 20 -loop 3 -density 288 ps_180_obs_*_plot.png ../${obsType}_ps_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 t_180_obs_*_plot.png ../${obsType}_t_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 q_180_obs_*_plot.png ../${obsType}_q_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 uv_obs_*_plot.png ../${obsType}_uv_${PERIOD}.gif
  
#para as boias se tiverem no periodo  
contfile=`ls t_182_obs_*_plot.png   2> /dev/null | wc -l` 
if [ $contfile -ne 0 ]; then
  ${convert} -dispose Background -delay 20 -loop 3 -density 288 t_182_obs_*_plot.png ../${obsType}_t_182_${PERIOD}.gif
fi
contfile=`ls q_182_obs_*_plot.png   2> /dev/null | wc -l` 
if [ $contfile -ne 0 ]; then
  ${convert} -dispose Background -delay 20 -loop 3 -density 288 q_182_obs_*_plot.png ../${obsType}_q_182_${PERIOD}.gif
fi
contfile=`ls ps_182_obs_*_plot.png   2> /dev/null | wc -l` 
if [ $contfile -ne 0 ]; then
   ${convert} -dispose Background -delay 20 -loop 3 -density 288 ps_182_obs_*_plot.png ../${obsType}_ps_182_${PERIOD}.gif
fi


#Dados Aceitos/Rejeitados/Monitorados
${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_ps-180_*.png ../TotOb_${obsType}_ps_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_t-180_*.png ../TotOb_${obsType}_t_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_q-180_*.png ../TotOb_${obsType}_q_180_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_uv-280_*.png ../TotOb_${obsType}_uv_280_${PERIOD}.gif
${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_uv-282_*.png ../TotOb_${obsType}_uv_282_${PERIOD}.gif

# Dados para as dropsondas se tiverem
  contfile=`ls TotalObs_ps-182_*.png   2> /dev/null | wc -l` 
  if [ $contfile -ne 0 ]; then
    ${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_ps-182_*.png   ../TotOb_${obsType}_ps_182_${PERIOD}.gif
  fi
  contfile=`ls TotalObs_t-182_*.png   2> /dev/null | wc -l` 
  if [ $contfile -ne 0 ]; then    
    ${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_t-182_*.png ../TotOb_${obsType}_t_182_${PERIOD}.gif
  contfile=`ls TotalObs_q-182_*.png   2> /dev/null | wc -l` 
  fi
  if [ $contfile -ne 0 ]; then
    ${convert} -dispose Background -delay 20 -loop 3 -density 288 TotalObs_q-182_*.png ../TotOb_${obsType}_q_182_${PERIOD}.gif
  fi

cd ${obsConv_figu}/${obsType}/${PERIOD}
#rm -rf ${tempANL}
cp *_${PERIOD}.gif ${obsConv_page}/${obsType}/${PERIOD}
echo -e "\033[36;1m >>> Arquivos Figs do periodo: \033[m"
echo -e "\033[33;1m http://ftp1.cptec.inpe.br/pesquisa/das/${USER}/${nome_sys}/evalu/${EXPE}/diag/obsConv/${obsType}/${PERIOD}/ \033[m "
ls ${obsConv_page}/${obsType}/${PERIOD}/*${PERIOD}.gif

echo ""
echo -e "\033[36;1m >>>> Binarios quando disponiveis estarao:\033[m " 
echo -e "\033[33;1m ${obsConv_bina}/ \033[m "
echo -e "\033[36;1m >>>> Arquivos de tabelas em:\033[m "
echo -e "\033[33;1m ${obsConv_tabe}/ \033[m "
echo -e "\033[36;1m >>>> Arquivos de logs em:\033[m "
echo -e "\033[33;1m ${obsConv_logs}/ \033[m "
echo -e "\033[36;1m >>>> Figuras em:\033[m "
echo -e "\033[33;1m ${obsConv_figu}/${obsType}/ \033[m "
echo ""

exit 0
