 #! /bin/bash 
#--------------------------------------------------------------------#
#                    obsRadi - GDAD/CPTEC/INPE - 2017                #
#--------------------------------------------------------------------#
#BOP
#
# !DESCRIPTION:
#  Ferramenta de diagnostico da assimilacao de dados de radiância
#  de sensores em satélites artificiais na assimilacao de dados usando o GSI
#
# !INTERFACE:
#    ./run_obsRadi.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_obsRadi.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_obsRadi.sh              
#  Digite a palavra testcase no primeiro argumento para o testcase padrÃ£o (gdad/public):
#    ./run_obsRadi.sh testcase
#
# !REVISION HISTORY:
#  22-06-2017 - Luiz Sapucci - Codigo Inicial baseado no run_humNphy.sh
#  07-06-2024 - Luiz Sapucci - Ajustando a primeira versão para o EGEON com o readDiag.Radi
#  01-07-2024 - Luiz Sapucci - Primeira versão no repositorio com ajustes no script do python
#
#
# !REMARKS:
#  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

# Nome do sensor entre os destinados a radiância
sensType=amsua #hirs4 #amsua
# isso não esta sendo usado ainda. avaliar sua aplicação


# Verificando argumentos de entrada se testcase
if [ "${1}" = "testcase" ]
then
  export LABELI=2025080112 
  export LABELF=2025083118  #16
  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/SMNAexp21/GSI/dataout
  #export GSIout=/home/radiancia/Exp_SMNA/data/EXP21/gsi_dataout
  #export GSIout=/mnt/beegfs/luiz.sapucci/SMNA/EXP22/datainout/gsi/dataout
  export GSIout=/mnt/beegfs/caroline.viezel/SMNA_v3.0.0.t11889/SMG/datainout/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_obsRadi.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 radiancia  usando o GSI\033[m"
    echo -e ""
    echo -e "\033[33;1m !INTERFACE:\033[m"
    echo -e "\033[33;1m ./run_obsRadi.sh LABELINI LABELFIM NHOURS OmA GSI_system EXPE GSIout \033[m"
    echo -e ""
    echo -e "\033[32;1m Digite com a palavra testcase no primeiro argumento para o testcase padrÃ£o:\033[m"
    echo -e "\033[32;1m ./run_obsRadi.sh testcase <GSI_system> \033[m"
    echo -e ""
    exit 
  fi
  
echo -e ""
echo -e "\033[34;1m > obsRadi: Ferramenta de diagnostico da assimilacao de dados de \033[m"
echo -e "\033[34;1m >          radiancia usando o GSI \033[m"

  
  # Verificando argumentos de entrada
  if [ -z "${1}" ]
  then
    export LABELI=2024031500 
  else
    export LABELI=${1}
  fi
  if [ -z "${2}" ]
  then
    export LABELF=2024031618 
  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_obsRadi.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_obsRadi.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 > Sensor          : \033[m \033[31;1m${sensType}\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 ${obsRadi_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 "${obsRadi_home}/config_obsRadi.ksh configurar ${nome_sys} ${EXPE}"
    ${obsRadi_home}/config_obsRadi.ksh configurar ${nome_sys} ${EXPE}
    if test ! -d ${obsRadi_work}/dataout/logfile; then echo "${obsRadi_work}/dataout/logfile"; echo "Rodada cancelada. Dados inexistentes!!!" ;exit; fi
else 
   echo "Arvore de diretorio do experimento" ${EXPE} "ja existentente para o protocolo"; 
   echo ""
fi

# Exportando variaveis do obsRadi
source  ${obsRadi_home}/config_obsRadi.ksh vars_export ${nome_sys} ${EXPE}

# ajustando o ftp para os direitos autorais apropriados
obsRadi_page=/pesq/share/das/dist/caroline.viezel/${nome_sys}/evalu_t12183/${EXPE}/diag/obsRadi
mkdir -p /pesq/share/das/dist/caroline.viezel/${nome_sys}
mkdir -p /pesq/share/das/dist/caroline.viezel/${nome_sys}/evalu_t12183
mkdir -p /pesq/share/das/dist/caroline.viezel/${nome_sys}/evalu_t12183/${EXPE}
mkdir -p /pesq/share/das/dist/caroline.viezel/${nome_sys}/evalu_t12183/${EXPE}/diag
mkdir -p /pesq/share/das/dist/caroline.viezel/${nome_sys}/evalu_t12183/${EXPE}/diag/obsRadi

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

cd ${obsRadi_work_run}
echo 

#Arquivo de log da rodada
logfile=${obsRadi_logs}/obsRadi_${LABELI}_${LABELF}.log

echo ""
echo -e "\033[34;1m >>> Submetendo o dignostico \033[33;1m obsRadi \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 obsRadi 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 "
date

##########################################################################################
# Gerando as figuras da distribuicao espacial/estatistica OmF/OmA e dados rejeitados
# gerando o script do python para gerar as figuras selecione o que quer fazer nessa rodada

# Deseja submeter no superputador (se nao roda no noh de submissao, o que nao e recomendado)
Submite=true #true # Coloque 'true'('false') se(não) desejar submeter.

# Experimento 1: caminho GSIout -> passado na execução (por padrão)
# Experimento 2: caminho GSIout2
#export GSIout2=/mnt/beegfs/luiz.sapucci/SMNA_v3.0.0.t11889/SMG/datainout/gsi/dataout
#export GSIout2=/mnt/beegfs/caroline.viezel/SMNA/evalu_t12183/EXP22/datainout/ATMS_SRF_old
export GSIout2=/mnt/beegfs/caroline.viezel/SMNA_v3.0.0.t11889/SMG/datainout/gsi/dataout/CNT_ATMS_warm_OCT-NOV2025

SENSOR="'amsua', 'atms'" #'hirs4' #'amsua'
#ListSat="'metop-b', 'metop-c'" #"'n15', 'n19', 'n18'" ##, metop-b'"
#ListChan='1,2,3,4,5,6,7,8,9,10,11,12,13,14,15' #,16,17,18,19'
#ListChan='7,8,9,10,11,12,13'

#SENSOR="'atms'" #'hirs4' #'amsua'
#ListSat="'npp', 'n20', 'n21'" #"'n15', 'n19', 'n18'" ##, metop-b'"
#ListChan='1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
#ListChan='6,7,8,9,10,11,12,13,14'
#ListChan='10' #'7,8,9,10,11,12,13'

PARAME='omf'  #'idqc'
vminOMA=-0.2       
vmaxOMA=0.2        
vminSTD=0.0        
vmaxSTD=1.0


###########################################################################################
#Gerando o script em python baseado na seleção acima

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

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

print('')
print("--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--")
print("--%%- Rodada AMSUA experimento: ", '${EXPE}')
print("--%%- Dados lidos em: ",'${GSIout}')
print("--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--")
print('')

DIRdiag = "${GSIout}"

dateIni = '${LABELI}'
dateFin = '${LABELF}'
nHour = '${FCT}'

varName = 'uv'
varType = 220
vminOMA = -2.0
vmaxOMA = 2.0
vminSTD = 0.0
vmaxSTD = 14.0
Level = 1000
Lay = 15
SingleL = 'OneL'

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)
print('')

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('')
print(pathsc)

read = True

if read:        
    gdf_list = []
    print('')
    
    print('Aguarde, o tempo total estimado para a leitura dos arquivos eh 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)
        
        gdf = gd.read_diag(path, pathc)
        
        gdf_list.append(gdf)
        
    print('Pronto!') 

tidx = 0
gdf_list[tidx]

gdf_list[tidx].pfileinfo()

var_kxs = gdf_list[tidx].overview()
var_kxs

ax = None

######### DEFINE VARIAVEIS ############

import numpy as np
import pandas as pd
from scipy.stats import binned_statistic_2d

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import cartopy.crs as ccrs
import cartopy.feature as cfeature

# Extrai o mapa existente e forca a primeira cor (indice 0) a ser branco puro
cmap_original = plt.get_cmap('OrRd')
cores = cmap_original(range(256))
cores[0] = [1, 1, 1, 1]  # Define o valor zero/minimo como Branco Puro [R, G, B, Alpha]

# Cria o novo mapa de cores customizado
meu_cmap = mcolors.ListedColormap(cores)


#mask=f"((iuse == 1) & (lat>-60.0 and lat<15) & (lon>260.0 and lon<350))"
#mask=f"((lat>-60.0 and lat<15) & (lon>260.0 and lon<350))"
# mask = f"((iuse == 1) & (nchan == 3))" #None
mask = None
#mask = f"((nchan == 13))"
#mask = f"((iusev == 1))"
nivel = None #850  # nivel de pressao desejado (em hPa)
#n_i = nivel - 50
#n_f = nivel + 50
#mask = f"({n_i} <= prs <= {n_f})"

param = 'obs'
varName = 'uv' #'uv'
varType = None #120


# 2. Definicao da malha de retangulos (Resolucao da grade)
resolucao = 5.0  # Tamanho do retangulo em graus (ex: 1 x 1)

lon_bins = np.arange(0, 360 + resolucao, resolucao)
lat_bins = np.arange(-90, 90 + resolucao, resolucao)

# 1. Configuracao correta da figura e do eixo com projecao Cartopy
fig, ax = plt.subplots(figsize=(12, 6), subplot_kw={'projection': ccrs.PlateCarree()})


DayHour = []

#----------- comeca ---------#
df_data = []
tidx = 0
print('***** DATES = ', dates)
for data in dates:
    print('---> Data = ',data)
    date = datetime.strptime(str(data), "%Y%m%d%H")
    DayHour.append(date.strftime("%d%H"))
    try:
        ax = None
        fig, ax = plt.subplots(figsize=(12, 6), subplot_kw={'projection': ccrs.PlateCarree()})
        df = []
        gdf_list[tidx].pfileinfo()
        gdf_list[tidx].obsInfo
        #df = gdf_list[tidx].obsInfo
        df = gdf_list[tidx].obsInfo[varName] #.loc[varType]
        col = df.columns.tolist()
        print('columns', col)
        
        #print('')
        #print(df)  #.query('prs == 850')
        #print('')

        df_aux = []
        if mask is None:
            df_aux = df
            del(df)
        else:
            df_aux = df.query(mask)
            del(df)

        # 3. Calculo do valor medio de OMA em cada retangulo
        # 'statistic="mean"' calcula a media. Pontos fora da malha sao ignorados.
        estatistica, lon_arestas, lat_arestas, binnumber = binned_statistic_2d(
            x=df_aux['lon'],
            y=df_aux['lat'],
            values=df_aux[param],
            statistic='count',
            bins=[lon_bins, lat_bins]
        )

        # 4. Organizacao do resultado em formato de matriz
        # Transposta (T) necessaria para alinhar o shape [Lat, Lon] padrao de mapas
        matriz_media = estatistica.T

        # Substitui retangulos sem nenhuma observacao (NaN) por zero, se necessario
        matriz_limpa = np.nan_to_num(matriz_media, nan=0.0)

        print('')
        print(f"Formato da matriz gerada (Latitudes, Longitudes): {matriz_limpa.shape}")
        print('')
        
        # 2. Plotagem da matriz de OMF medio
        pcm = ax.pcolormesh(
            lon_bins,
            lat_bins,
            matriz_media,  #matriz_oma_media.T,
            cmap=meu_cmap,
            vmin=0,
            transform=ccrs.PlateCarree()
        )
        
        # 3. Adicao de elementos geograficos (linhas de costa e estados)
        ax.add_feature(cfeature.COASTLINE, linestyle='-', linewidth=1)
        ax.add_feature(cfeature.BORDERS, linestyle='-', linewidth=0.8, edgecolor='gray')
        # ax.add_feature(cfeature.STATES, linestyle='--', linewidth=0.5, edgecolor='gray')

        # 4. Configuracao das linhas de grade e rotulos de Lat/Lon
        gl = ax.gridlines(draw_labels=True, linestyle='--', alpha=0.5)
        gl.top_labels = False
        gl.right_labels = False

        # 5. Barra de cores (Colorbar)
        cbar = plt.colorbar(pcm, ax=ax, orientation='horizontal', pad=0.05, shrink=0.7)
        cbar.set_label('N. OBS')
        
        forplot = 'varName ='+ str(varName)
        instrument_title = str(varName) + " " + str(varType) + " | " + str(param) + " " + str(nivel) + "hPa" #+ " - Assimilado"
        
        if ax != None:
            datefmt1 = dates[tidx]
            #datefmt2 = dates[-1]
            date1 = datetime.strptime(str(datefmt1), "%Y%m%d%H")
            #date2 = datetime.strptime(str(datefmt2), "%Y%m%d%H")
            #date_title = str(date1.strftime("%d%b%Y %H%M")) + ' - ' + str(date2.strftime("%d%b%Y %H%M")) #+ ' GMT'
            #date_title = str(date1.strftime("%d%b%Y %H%M")) + ' - ' + str(date2.strftime("%H%M")) #+ ' GMT'
            date_title = str(date1.strftime("%d%b%Y %H%M")) + ' GMT'
            #ax.annotate(date_title, xy=(0.75, 1.015), xytext=(0, 0), xycoords='axes fraction', textcoords='offset points',
            #           fontsize=10, horizontalalignment='left', verticalalignment='center')
            plt.title(date_title, loc='right', fontsize=10)
            #plt.title(instrument_title, loc='left', fontsize=9)
            ax.annotate(instrument_title, xy=(0.3, 1.055), xytext=(0, 0), xycoords='axes fraction', textcoords='offset points',
        		color='gray', fontweight='bold', fontsize='11',horizontalalignment='left', verticalalignment='center')

            #figname=varName+"_"+str(varType)+"_"+param+"_"+"GridMAPA_IBIS"+"_"+str(nivel)+"_"+str(datefmt1)+"_plot.png"
            #figname=varName+"_"+str(varType)+"_"+param+"_"+"GridMAPA_SSIB"+"_"+str(nivel)+"_"+str(datefmt1)+"_plot.png"
            #figname=varName+"_"+str(varType)+"_"+param+"_"+"GridMAPA_INPE"+"_"+str(nivel)+"_"+str(datefmt1)+"_plot.png"
            figname=varName+"_"+str(varType)+"_"+param+"_"+"GridMAPAcount_INPE"+"_"+str(nivel)+"_"+str(datefmt1)+"_plot.png"
            plt.tight_layout()
            plt.savefig(figname)
        
    except:
        print('')
        print('sem dados no data ', dates[tidx])
        df_data.append(None)
    
    tidx = tidx + 1
    ax = None

print('***** DayHour = ', DayHour)



for file in gdf_list:
    file.close()



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

EOF


cd ${obsRadi_work_run}/

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

chmod 755 runPythonINPE.py
  
#Para rodar na maquina local sem submeter descomente as duas linhas abaixo e comente a submissão na egeon
### Activando o ambiente do ReadDiag
#  source /home/luiz.sapucci/.conda/envs/readDiag.Radi/bin/activate
#  ./runPythonFig.py >> ${logfile}


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

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

cat << EOF > ./runPythonINPE.sbt
#! /bin/bash
#SBATCH --job-name=EVALINPE
#SBATCH --nodes=1
#SBATCH --partition=batch
#SBATCH --tasks-per-node=128
#SBATCH --time=04:00:00
#SBATCH --output=${obsRadi_work_run}/runPythonINPE.${HMS}.sbt.log

cd ${obsRadi_work_run}

echo "Activando o anbiente ReadDiag na egeon"
source /home/caroline.viezel/.conda/envs/readDiagGerd/bin/activate
echo "Rodando o runPythonINPE.py com o python em:"
echo "/home/caroline.viezel/.conda/envs/readDiagGerd/bin/python"
mpirun -np 1 /home/caroline.viezel/.conda/envs/readDiagGerd/bin/python -u runPythonINPE.py >> runPythonINPE.${HMS}.sbt.out 2>&1

EOF

chmod 755 runPythonINPE.sbt

if $Submite; 
then
  # Submetendo o script com a opção -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 ${obsRadi_work_run}/runPythonINPE.${HMS}.sbt.out \033[m "
  echo "" 
  sbatch -W runPythonINPE.sbt
else
  # Verificando onde esta sendo utilizado o protocolo para ativar o ambiente
  if [ $HOSTNAME = "headnode.egeon.cptec.inpe.br" ]
  then 
      echo  "Ambiente EGEON" 
      # Ativando o readDiag para rodar no nó de submissão
      #echo   source /home/$USER/.conda/envs/readDiag/bin/activate
      #echo   source /home/$USER/.conda/envs/readDiag.Radi/bin/activate
      #echo   source /home/carlos.bastarz/miniconda3/envs/readDiag.jgerd/bin/activate
      echo   source /home/caroline.viezel/.conda/envs/readDiagGerd/bin/activate
  else
      echo  " Ambiente  $HOSTNAME simulando a EGEON" 
      # Ativando o readDiag na maquina local para rodar o protocolo
      source /home/$USER/.conda/envs/readDiag.Radi/bin/activate
      # source /home/$USER/.conda/envs/readDiag-issue_45/bin/activate
  fi
  
  echo "" 
  echo -e "\033[36;1m >>>> Para acompanhar o processo sendo rodado digite em outro terminal:\033[m " 
  echo -e "\033[33;1m tail -f ${logfile} \033[m "
  echo "" 

  ./runPythonINPE.py  >> ${logfile}
    
fi
 
##############################################################################
#####################################################################################
 
# Movendo figuras geradas para ${obsRadi_figu}
echo 
echo -e "\033[36;1m >>>> Movendo figuras geradas para obsRadi_figu \033[m"
ls *.png

cp *.png ${obsRadi_page}/${PERIOD}
mv *.png ${obsRadi_figu}/${PERIOD}

cd ${obsRadi_figu}/${PERIOD}
#rm -rf ${tempANL}

echo -e "\033[36;1m >>> Arquivos Figs do periodo: no NIS e FTP\033[m"
echo -e "\033[33;1m http://ftp1.cptec.inpe.br/pesquisa/das/caroline.viezel/${nome_sys}/evalu_t12183/${EXPE}/diag/obsRadi/ \033[m "
echo -e "\033[33;1m ${obsRadi_page}/${PERIOD}/ \033[m "
ls ${obsRadi_page}/${PERIOD}/

echo 
echo -e "\033[36;1m >>>> Binarios quando disponiveis estarao:\033[m " 
echo -e "\033[33;1m ${obsRadi_bina}/ \033[m "
echo -e "\033[36;1m >>>> Arquivos de tabelas em:\033[m "
echo -e "\033[33;1m ${obsRadi_tabe}/ \033[m "
echo -e "\033[36;1m >>>> Arquivos de logs em:\033[m "
echo -e "\033[33;1m ${obsRadi_logs}/ \033[m "
echo -e "\033[36;1m >>>> Figuras em:\033[m "
echo -e "\033[33;1m ${obsRadi_figu}/ \033[m "
echo ""

exit 0

