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

#SENSOR="'amsua'" #'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='5,6,7,8,9,10,11,12,13,14'
#ListChan='10' #'7,8,9,10,11,12,13'

#PARAME='obs'  #'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 > ./runPython.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_1 = "${GSIout}"
DIRdiag_2 = "${GSIout2}"

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

varNames = [${SENSOR}]
varTypes = [${ListSat}]
channels = [${ListChan}]

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

print('')
print('>>>> Leitura: fort_207_read -> EXP1 <<<<')
print('')
Self1 = gd.read_diag.fort_207_read(DIRdiag_1, dates)

print('')
print('>>>> Leitura: fort_207_read -> EXP2 <<<<')
print('')
Self2 = gd.read_diag.fort_207_read(DIRdiag_2, dates)


print('Finalizou Leitura')
print('')

print('time_series_fort207 --> seleciona canal')
print('')


for nc in range(len(channels)):
    nchan = channels[nc]
    print('Para nchan = ',nchan)
    for varName in varNames:
        for nvT in range(len(varTypes)):
            varType = varTypes[nvT]
            print('')
            print("------>>>>>>>----------------->>>>>>--")
            print("------>>> AMSUA no Satelite : ", varType)
            print("------>>>>>>>----------------->>>>>>--")
            print('')


            # Valores da time series: list_dataObsU, list_dataObsT, list_dataBiasBC, list_dataBiasAC, list_dataSTD

            DayHour_1, nobsu_1, nobst_1, BiasBC_1, BiasAC_1, std_1 = [], [], [], [], [], []
            DayHour_2, nobsu_2, nobst_2, BiasBC_2, BiasAC_2, std_2 = [], [], [], [], [], []


            #------ 1 EXP ------------#
            Sat = varType
            Type= varName #'amsua'
            mask = "(sat=='"+str(varType)+"' & type=='"+str(varName)+"')"
            channel = nchan
            it = 3


            print('Type = ', Type, 'Sat = ', Sat, 'channel = ', channel)
            print('')
            DayHour_1, nobsu_1, nobst_1, BiasBC_1, BiasAC_1, std_1 = gd.plot_diag.time_series_fort207(Self1, Type=Type,
                                                                                   Sat=Sat,
                                                                                   it=it,
                                                                                   dateIni=dateIni,
                                                                                   dateFin=dateFin,
                                                                                   nHour=nHour,
                                                                                   mask=mask,
                                                                                   channel=channel,
                                                                                   Clean=False)
            #------ 2 EXP ------------#
            Sat = varType
            Type= varName #'amsua'
            mask = "(sat=='"+str(varType)+"' & type=='"+str(varName)+"')"
            channel = nchan
            it = 3


            print('Type = ', Type, 'Sat = ', Sat, 'channel = ', channel)
            print('')

            DayHour_2, nobsu_2, nobst_2, BiasBC_2, BiasAC_2, std_2 = gd.plot_diag.time_series_fort207(Self2, Type=Type,
                                                                                   Sat=Sat,
                                                                                   it=3,
                                                                                   dateIni=dateIni,
                                                                                   dateFin=dateFin,
                                                                                   nHour=nHour,
                                                                                   mask=mask,
                                                                                   channel=channel,
                                                                                   Clean=False)



            # PLotes...

            import numpy as np
            from datetime import datetime, timedelta
            import matplotlib.pyplot as plt
            import matplotlib.patches as mpatches
            from mpl_toolkits.axes_grid1 import make_axes_locatable
            from cartopy import crs as ccrs
            import gc
            import sys
            from textwrap import wrap
            import matplotlib as mpl
            import matplotlib.ticker as mticker
            from matplotlib.offsetbox import AnchoredOffsetbox, TextArea, HPacker, VPacker

            print(' Making Graphics...')
            DayHour, x_axis, x_axis1, x_axis2 = [], [], [], []

            x_axis1 = np.arange(0, len(DayHour_1), 1)
            x_axis2 = np.arange(0, len(DayHour_2), 1)

            date_title = str(datei.strftime("%d%b")) + '-' + str(datef.strftime("%d%b")) + ' ' + str(datef.strftime("%Y"))
            instrument_title = Type + ' | ' + Sat + '- Stage 0'+ str(it)
            forplot = 'Channel ='+str(channel)
            forplotname = 'Channel_'+str(channel)

            fig = plt.figure(figsize=(9, 5))
            fig, ax1 = plt.subplots(figsize=(9, 5))
            plt.style.use('seaborn-v0_8-ticks')

            plt.axhline(y=0.0,ls='solid',c='#d3d3d3')
            plt.annotate(forplot, xy=(0.45, 1.025), xytext=(0,0), xycoords='axes fraction', textcoords='offset points',
                         color='slategray', fontweight='bold', fontsize='10', horizontalalignment='left', verticalalignment='center')

            ax1.plot(x_axis1, BiasBC_1, "-o", c='navy', markersize=4, label="bias (before bias correction) - EXP1") #c='steelblue'
            ax1.plot(x_axis2, BiasBC_2, "--o", c='steelblue', markersize=4, label="bias (before bias correction) - EXP2") #c='steelblue'
            ax1.plot(x_axis1, BiasAC_1, "-s", c='tomato', markersize=4, label="bias (after bias correction) - EXP1")
            ax1.plot(x_axis2, BiasAC_2, "--s", c='darksalmon', markersize=4, label="bias (after bias correction) - EXP2")


            ax1.set_xlabel('Date (DayHour)', fontsize=10)
            ax1.tick_params('y', colors='black')
            if (len(DayHour_1) > len(DayHour_2)):
                x_axis = x_axis1
                DayHour = DayHour_1
            else:
                x_axis = x_axis2
                DayHour = DayHour_2

            ax1.set_xlim(0.1*min(x_axis),1.002*max(x_axis))
            plt.xticks(x_axis, DayHour)
            major_ticks = [ DayHour.index(dh) for dh in filter(None,DayHour) ]
            ax1.set_xticks(major_ticks)

            plt.legend(numpoints=1, loc='upper center', bbox_to_anchor=(0.5, -0.15),
               fancybox=True, shadow=True, frameon=True, ncol=2, prop={"size": 10})

            plt.title(instrument_title, loc='left', fontsize=9)
            plt.title(date_title, loc='right', fontsize=9)
            plt.subplots_adjust(left=None, bottom=None, right=0.80, top=None)
            plt.tight_layout()
            plt.savefig('TS_bias_EXP1e2_'+ Type +'_'+ Sat +'_it'+ str(it) +'_'+forplotname+'.png', bbox_inches='tight', dpi=100)


            fig = plt.figure(figsize=(9, 5))
            fig, ax1 = plt.subplots(figsize=(9, 5))
            plt.style.use('seaborn-v0_8-ticks')

            plt.axhline(y=0.0,ls='solid',c='#d3d3d3')
            plt.annotate(forplot, xy=(0.45, 1.025), xytext=(0,0), xycoords='axes fraction', textcoords='offset points',
                         color='slategray',fontweight='bold', fontsize='10', horizontalalignment='left', verticalalignment='center')

            p1 = ax1.plot(x_axis1, nobsu_1, "-", c='teal', label="nobs (used in GSI analysis) - EXP1") #c='steelblue'
            p2 = ax1.plot(x_axis2, nobsu_2, "o", c='mediumaquamarine', label="nobs (used in GSI analysis) - EXP2") #c='steelblue'
            label1 = "nobs (used in GSI analysis)"
            ax1.set_xlabel('Date (DayHour)', fontsize=10)
            ax1.set_ylabel('nobs - used', color='teal', fontsize=10)
            ax1.tick_params('y', colors='teal')
            ax1.set_xlim(0.1*min(x_axis),1.002*max(x_axis))
            plt.xticks(x_axis, DayHour)
            major_ticks = [ DayHour.index(dh) for dh in filter(None,DayHour) ]
            ax1.set_xticks(major_ticks)


            ax2 = ax1.twinx()
            p3 = ax2.plot(x_axis1, nobst_1, "--", c='red', label="nobs (tossed by gross check) - EXP1")
            p4 = ax2.plot(x_axis2, nobst_2, ":*", c='indianred', label="nobs (tossed by gross check) - EXP2")
            label2 = "nobs (tossed by gross check)"
            ax2.set_ylabel('nobs - tossed', color='r', fontsize=10)
            ax2.tick_params('y', colors='r')

            ps = p1 + p2 + p3 + p4
            labs = [l.get_label() for l in ps]

            plt.legend(ps, labs, numpoints=1, loc='upper center', bbox_to_anchor=(0.5, -0.15),
                fancybox=True, shadow=True, frameon=True, ncol=2, prop={"size": 10})

            plt.title(instrument_title, loc='left', fontsize=9)
            plt.title(date_title, loc='right', fontsize=9)
            plt.subplots_adjust(left=None, bottom=None, right=0.80, top=None)
            plt.tight_layout()
            plt.savefig('TS_nobs_EXP1e2_'+ Type +'_'+ Sat +'_it'+ str(it) +'_'+forplotname+'.png', bbox_inches='tight', dpi=100)




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 runPython.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 > ./runPython.sbt
#! /bin/bash
#SBATCH --job-name=RadEVALF
#SBATCH --nodes=1
#SBATCH --partition=batch
#SBATCH --tasks-per-node=128
#SBATCH --time=04:00:00
#SBATCH --output=${obsRadi_work_run}/runPython.${HMS}.sbt.log

cd ${obsRadi_work_run}

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

EOF

chmod 755 runPython.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}/runPython.${HMS}.sbt.out \033[m "
  echo "" 
  sbatch -W runPython.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 "" 

  ./runPython.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

