#! /bin/bash 
#--------------------------------------------------------------------#
#                    humNphy - GDAD/CPTEC/INPE - 2017                #
#--------------------------------------------------------------------#
#BOP
#
# !DESCRIPTION:
#  Ferramenta de diagnostico e impacto nos valores nao fisicos de 
#  umidade da assimilacao de dados usando o GSI
#
# !INTERFACE:
#    ./run_humNphy.sh LABELINI LABELFIM PREFIX TRC LV NHOURS GSI_system EXPE
#
#    Onde:
#         => LABELINI  : Data da analise [%y4%m2%d2%h2]
#         => LABELFIM  : Data da analise Final [%y4%m2%d2%h2]
#         => PREFIX    : CPT,NMC,AVN 
#         => TRC       : 4 digits spectral resolution                           
#         => LV        : 3 digits vertical resolution
#         => NHOURS    : Incremento entre analises [+Nh] - N = numero de horas: Ex. "6"
#         => 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. "TESTCASE"
#         => Datain    : Path of the dataout file from BAM 
#
#  !EXAMPLES:  
#    ./run_humNphy.sh 2013010100 2013010218 CPT 62 28 06 SMG TESTCASE 
#
#  !TESTCASE:
#  Digite sem argumentos de entrada para o testcase do sistema hospedeiro, da forma:
#    ./run_humNphy.sh              
#  Digite com a palabra testcase no primeiro argumento para o testcase padrão de um dia:
#    ./run_humNphy.sh testcase
#  Para o caso de outro sistema ou versao diferente de SMG digite
#    ./run_humNphy.sh testcase GSI_system
#
# !REVISION HISTORY:
#  02-05-2017 - Luiz Sapucci - Codigo Inicial
#  23-02-2017 - Luiz Sapucci - Implementacao das rotinas e scripts para o ciclo
#  18-01-2019 - Luiz Sapucci - Versao ajustada para a resolucao TQ0299L064 mantendo a versao TQ0062L028
#  06-02-2023 - Luiz Sapucci - Ajustando para o EGEON usando o PostAlt
#
# !REMARKS:
#  Falta ajustes para o sistema RMS e outros modelos como o BRAMS e WRF.
#
# !BUGS:
#
#EOP
#--------------------------------------------------------------------#
#BOC

# Descomente abaixo para debugar
#set -o xtrace

# Verificando argumentos de entrada se testcase
if [ "${1}" = "testcase" ]
then
  export LABELI=2020010106
  export LABELF=2020010218
  export PREFIX="CPT"
  export TRC=299
  export NLV=64
  export FCT=06
  
  if [ -z "${2}" ]
  then
    export nome_sys="SMNA"
  else
    export nome_sys=${2} 
  fi
 
  export humNphy_CNT=/mnt/beegfs/das.group/testcase/evalu/dataCNT/humNphy
  export datain_humNphy=/mnt/beegfs/das.group/testcase/SMNAexp15/BAM
 
  export EXPE="testcase"
  echo -e ""
  echo -e "\033[31;1m          !!! ATENCAO !!!\033[m"
  echo -e "\033[31;1m RODANDO COM PARAMETROS DO TESTCASE PADRÃO \033[m"
  echo -e ""
  echo -e "\033[33;1m ./run_humNphy.sh ${LABELI} ${LABELF} ${PREFIX} 299 64 06 ${nome_sys} ${EXPE} ${datain_humNphy} \033[m"
  echo -e ""
else

# Verificando se ajuda
  if [ "${1}" = "ajuda" ]
    then
    echo -e ""  
    echo -e "\033[33;1m Ferramenta de diagnostico e impacto nos valores nao fisicos\033[m"
    echo -e "\033[33;1m de umidade da assimilacao de dados usando o GSI\033[m"
    echo -e ""
    echo -e "\033[33;1m !INTERFACE:\033[m"
    echo -e "\033[33;1m ./run_humNphy.sh LABELINI LABELFIM PREFIX TRC LV NHOURS GSI_system EXPE datain \033[m"
    echo -e ""
    echo -e "\033[32;1m Digite com a palabra testcase no primeiro argumento para aplicar \033[m" 
    echo -e "\033[32;1m o testcase padrão usando dados em gdad/PUBLIC no SMG: \033[m"
    echo -e "\033[32;1m ./run_humNphy.sh testcase \033[m"
    echo -e "\033[32;1m ou em outro sistema ou versao que usa o GSI: \033[m"
    echo -e "\033[32;1m ./run_humNphy.sh testcase GSI_system \033[m"
    echo -e ""    
    exit 
  fi

  # Verificando argumentos de entrada
  if [ -z "${1}" ]
  then
    export LABELI=2020010106
  else
    export LABELI=${1}
  fi
  if [ -z "${2}" ]
  then
    export LABELF=2020010218
  else
    export LABELF=${2} 
  fi
  if [ -z "${3}" ]
  then
    export PREFIX="CPT"
  else
    export PREFIX=${3}
  fi
  if [ -z "${4}" ]
  then
    export TRC=299
  else
    export TRC=${4}
  fi
  if [ -z "${5}" ]
  then
    export NLV=64
  else
    export NLV=${5}
  fi
  if [ -z "${6}" ]
  then
    export FCT=06
  else
    export FCT=${6}
  fi
  if [ -z "${7}" ]
  then
    export nome_sys="SMNA"
  else
    export nome_sys=${7}
  fi
  if [ -z "${8}" ]
  then
    export EXPE="EXPE"
  else
    export EXPE=${8}
  fi
  if [ -z "${9}" ]
  then
    export datain_humNphy=/mnt/beegfs/$USER/${nome_sys:0:4}/datainout/bam/model
  else
    export datain_humNphy=${9}
  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_humNphy.sh ${LABELI} ${LABELF} ${PREFIX} 299 64 06 ${nome_sys} ${EXPE} ${datain_humNphy} \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_humNphy.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 humNphy!!! \033[m"
      echo ""
      exit
    fi

  fi

fi

export MRES=`echo ${TRC} ${NLV} | awk '{printf("TQ%4.4dL%3.3d\n",$1,$2)}'`

#Setando o nivel significativo da umidade negativa no perfil na resolucao do modelo
if [ ${NLV} -eq 28 ]
then 
  LsigUN=7
else
  LsigUN=13
fi

echo -e ""
echo -e "\033[34;1m > humNphy: Ferramenta de diagnostico e impacto nos valores nao fisicos  \033[m"
echo -e "\033[34;1m >          de umidade da assimilacao de dados usando o GSI \033[m"
echo -e ""
echo -e "\033[34;1m CONFIGURACAO DA RODADA \033[m"
echo -e ""
echo -e "\033[34;1m > Resolucao         : \033[m \033[31;1m${MRES} ${LsigUN}\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 > 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"

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

if test ! -d ${humNphy_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 "${humNphy_home}/config_humNphy.ksh configurar ${nome_sys} ${EXPE}"
    ${humNphy_home}/config_humNphy.ksh configurar ${nome_sys} ${EXPE}
    if test ! -d ${humNphy_work}/dataout/logfile; then echo ""; echo "Rodada cancelada!!!" ;exit; fi
else 
   echo "Arvore de diretorio do experimento" ${EXPE} "ja existentente para o protocolo"; 
   echo ""
fi

# Exportando variaveis do humNphy
source  ${humNphy_home}/config_humNphy.ksh vars_export ${nome_sys} ${EXPE}

# Exportanto varaiveis do sistema em avaliacao
#source ${home_sys}/config_${nome_syslowc:0:3}.ksh vars_export ${nome_sys}

echo "Dados Background lidos em: "
echo  ${datain_humNphy}/BAM/model/dataout/${MRES}/YYYYMMDDHH
echo "Dados analise lidos em: "
echo  ${datain_humNphy}/gsi/dataout/YYYYMMDDHH

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

# Limpando o diretório de log para colocar os log e gerar as series temporais
cd ${humNphy_logs} 
mkdir -p oldfile
#mv *log oldfile 2>/dev/null

# Ciclo principal
#while [ ${LABELI} -gt ${LABELF} ]
while [ ${LABELI} -le ${LABELF} ]
do

  # Indo para a raiz do running no scratchout e criando o logfile
  LABELFGS=`${inctime} ${LABELI} -6h %y4%m2%d2%h2`
  cd ${humNphy_work_run}
  TimeRun=`date '+%Y%m%d_%H:%M:%S'`
  logfile=${humNphy_logs}/humNphy${LABELI}_${TimeRun}.log

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

  # Prepara o ambiente para a rodada
  mkdir -p ${LABELI}
  cd ${LABELI}
  
  echo "" 
  echo " ******" 
  echo -e "\033[34;1m ** Processando os campos de Background \033[m"
  echo -e "**Processando os campos de Background " >> ${logfile}

  # Conversao do arquivo de background BAM espectral para ponto de grad
  cp ${humNphy_run}/templates/BAM.${MRES}.dir.head ${humNphy_work_run}/${LABELI}/

  # Copiando arquivos de background para o GSI no formato spectral (DATAIN MODEL)

  FFCT=GFCT${PREFIX}${LABELFGS}${LABELI}F.fct.${MRES}
  FDIR=GFCT${PREFIX}${LABELFGS}${LABELI}F.dir.${MRES}
  
  ls ${datain_humNphy}/BAM/model/dataout/${MRES}/${LABELFGS}/${FFCT} ${datain_humNphy}/BAM/model/dataout/${MRES}/${LABELFGS}/${FDIR}

  cp ${datain_humNphy}/BAM/model/dataout/${MRES}/${LABELFGS}/${FFCT} ${humNphy_work_run}/${LABELI}/BAM.fct.06
  cp ${datain_humNphy}/BAM/model/dataout/${MRES}/${LABELFGS}/${FDIR} ${humNphy_work_run}/${LABELI}/BAM.dir.06

  if [ -e ${humNphy_run}/templates/BAM.${MRES}.bin.ctl.template  ]; then 
    cp ${humNphy_run}/templates/BAM.${MRES}.bin.ctl.template ${humNphy_work_run}/${LABELI}/
  else
    echo 
    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    echo "! O sistema nao e apto para a resolucao setada.  !"
    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    echo 
    exit -9   
  fi

  # Rodando o postAlt na data para converter spec to grib (antigo spc2grd.x)
  # ele tambm j faz a estatistica da umidade no fisica o era feito pelo humNphy.f90
  # Com a opo -Q ele j calcula a umidade relativa sem mascara de valores no fisicos
  echo ""
  echo " PostAlt para converter spec to grib e calcular a UR notPhy"
  echo " postAlt -d BAM.dir.06 -f BAM.fct.06 -t fct -r BAM.${MRES}.dir.head -Q" 
  echo ""  >> ${logfile}
  echo " postAlt -d BAM.dir.06 -f BAM.fct.06 -t fct -r BAM.${MRES}.dir.head -Q " >> ${logfile}
  ${humNphy_bin}/postAlt -d BAM.dir.06 -f BAM.fct.06 -t "fct" -r BAM.${MRES}.dir.head -Q  >> ${logfile}
  echo ""
 
  echo " Arquivos binarios gerados"
  mv BAM.fct.06.ctl BAM.fct.RH.${LABELFGS}${LABELI}.ctl
  sed -i "s/BAM.fct.06.gs4r/BAM.fct.RH.${LABELFGS}${LABELI}.gs4r/g" BAM.fct.RH.${LABELFGS}${LABELI}.ctl
  mv BAM.fct.06.gs4r BAM.fct.RH.${LABELFGS}${LABELI}.gs4r
  ls BAM.fct.RH.*   
  echo ""
 
  # Geracao das figuras para o background usando o grads com a rotina humNphy.gs
  cp ${humNphy_run}/humNphy.gs ${humNphy_work_run}/${LABELI}/
  echo grads -blc ' run humNphy.gs ./ BAM.fct.RH.'${LABELFGS}${LABELI}'.ctl' ${LsigUN}
  echo grads -blc ' run humNphy.gs ./ BAM.fct.RH.'${LABELFGS}${LABELI}'.ctl' ${LsigUN} >> ${logfile}
  grads -blc "run humNphy.gs ./ BAM.fct.RH.${LABELFGS}${LABELI}.ctl ${LsigUN}"  >> ${logfile}
  echo ""

  echo " Figuras geradas"
  ls *${LABELFGS}_${LABELI}.png
  mkdir -p ${humNphy_figu}/${LABELI}
  cp *.png ${tempBKG}
  mv *.png *.pdf ${humNphy_figu}/${LABELI}
  echo ""
  
  echo " ******" 
  echo -e "\033[34;1m ** Processando os campos de analise \033[m"
  echo -e "** Processando os campos de analise " >> ${logfile}

  # Conversao da analise GSI espectral para converter to grib (antigo spc2grd.x)
  # ele tambm j faz a estatistica da umidade no fisica o era feito pelo humNphy.f90
  # Copiando arquivos de analise do GSI no formato spectral (DATAIN MODEL)
  cp ${datain_humNphy}/gsi/dataout/${LABELI}/GANLCPT${LABELI}S.unf.${MRES} ${humNphy_work_run}/${LABELI}/BAM.unf.gsi
  cp ${humNphy_run}/templates/BAM.${MRES}.dun.anl.gsi ${humNphy_work_run}/${LABELI}/BAM.dun.gsi

  # Rodando o postAlt na data para converter spec to grib
  echo ""
  echo " PostAlt na analise do GSI converter to grib e calcular UR notPhy"
  echo " postAlt -d BAM.dun.gsi -f BAM.unf.gsi -t "unf" -r BAM.${MRES}.dir.head -Q" 
  echo ""  >> ${logfile}
  echo " postAlt -d BAM.dun.gsi -f BAM.unf.gsi -t "unf" -r BAM.${MRES}.dir.head -Q" >> ${logfile}
  ${humNphy_bin}/postAlt -d BAM.dun.gsi -f BAM.unf.gsi -t "unf" -r BAM.${MRES}.dir.head -Q  >> ${logfile}
  echo ""

  echo " Arquivos binarios gerados "
  mv BAM.unf.gsi.ctl BAM.anl.RH.${LABELI}${LABELI}.ctl
  sed -i "s/BAM.unf.gsi.gs4r/BAM.anl.RH.${LABELI}${LABELI}.gs4r/g" BAM.anl.RH.${LABELI}${LABELI}.ctl
  mv BAM.unf.gsi.gs4r BAM.anl.RH.${LABELI}${LABELI}.gs4r
  ls BAM.anl.RH.*   
  echo ""
 
  # Geracao das figuras para o analise usando o grads com a rotina humNphy.gs
  echo grads -blc ' run humNphy.gs ./ BAM.anl.RH.'${LABELI}${LABELI}'.ctl' ${LsigUN}
  echo grads -blc ' run humNphy.gs ./ BAM.anl.RH.'${LABELI}${LABELI}'.ctl' ${LsigUN} >> ${logfile}
  grads -blc "run humNphy.gs ./ BAM.anl.RH.${LABELI}${LABELI}.ctl ${LsigUN}"  >> ${logfile}
  echo ""

  echo " Figuras geradas"
  ls *${LABELI}_${LABELI}.png 

  #Movendo arquivos binarios e figuras analise para o diretório de saida
  mkdir -p ${humNphy_bina}/${LABELI}/
  mv BAM.*.RH.* ${humNphy_bina}/${LABELI}/
  rm BAM.fct.06 BAM.unf.gsi 
  mkdir -p ${humNphy_figu}/${LABELI}/
  cp *.png ${tempANL}
  mv *.png *.pdf ${humNphy_figu}/${LABELI}/
  echo ""

  # Ajustes na data para a próxima rodada
  LABELI=`${inctime} ${LABELI} +${FCT}h %y4%m2%d2%h2`

done

echo ""
echo -e "\033[36;1m ******************************************************* \033[m " 
echo -e "\033[34;1m >>> Fim do Loop principal da Rodada \033[m"
#echo -e "\033[34;1m >>> Nao rodado o Loop principal da Rodada \033[m"
echo -e "\033[36;1m ******************************************************* \033[m " 
echo ""

#exit

#Copiando os perfis dos valores nao fisicos do inicio e final do periodo
cd ${humNphy_figu}/${PERIOD} 
cp ${humNphy_figu}/${LABELINI}/RHlev*.png .
cp ${humNphy_figu}/${LABELF}/RHlev*.png .

# Geracao das series temporais dos valores não físicos no periodo
echo ""
echo " Gerando as series temporais dos valores não fisicos usando o GNUplot"
echo ""
cd ${humNphy_logs} 
# Juntando os valores do perfil em colunas por rodadas
# com o comando {for (i=3;i<=NF;i++) Col+=$i ; print Col} soma os valores dos perfils em recortes em um unico valor. Elimine isso se querer aaliar os perfis nos diferentes recortes
# Observe que apenas os valores do numero de casos esto sendo considerados. Faa o mesmo para os greps  grep -h "#URsatHsv_BAM.fct  grep -h "#URsatHnv_BAM.fct se desejar
DATAINI=${PERIOD:0:10}
rm -rf ${humNphy_tabe}/*_${PERIOD}.txt

touch ${humNphy_tabe}/PF.URstH_BAM.fct_${PERIOD}.txt
touch ${humNphy_tabe}/PF.URstH_BAM.anl_${PERIOD}.txt
touch ${humNphy_tabe}/PF.URntH_BAM.fct_${PERIOD}.txt
touch ${humNphy_tabe}/PF.URntH_BAM.anl_${PERIOD}.txt

while [ ${DATAINI} -le ${LABELF} ]
do

  #URsatHst fct
  grep -h "#URsatHst_BAM.fct ${DATAINI} " *log | sed -e 's/[a-zA-Z]//g' -e 's/#_.//g' > ${humNphy_tabe}/PF.URstH_BAM.fct_${DATAINI}.txt
  echo $DATAINI > ${humNphy_tabe}/temp.txt
  mv ${humNphy_tabe}/PF.URstH_BAM.fct_${PERIOD}.txt ${humNphy_tabe}/temp2.txt
  while read URline ; do satLine=`echo ${URline} | awk '{for (i=3;i<=NF;i++) Col+=$i ; print Col}' ` ; echo $satLine >> ${humNphy_tabe}/temp.txt  ; done < ${humNphy_tabe}/PF.URstH_BAM.fct_${DATAINI}.txt
  paste ${humNphy_tabe}/temp2.txt ${humNphy_tabe}/temp.txt > ${humNphy_tabe}/PF.URstH_BAM.fct_${PERIOD}.txt

  #URsatHst anl
  grep -h "#URsatHst_BAM.anl ${DATAINI} " *log | sed -e 's/[a-zA-Z]//g' -e 's/#_.//g' > ${humNphy_tabe}/PF.URstH_BAM.anl_${DATAINI}.txt
  echo $DATAINI > ${humNphy_tabe}/temp.txt
  mv ${humNphy_tabe}/PF.URstH_BAM.anl_${PERIOD}.txt ${humNphy_tabe}/temp2.txt
  while read URline ; do satLine=`echo ${URline} | awk '{for (i=3;i<=NF;i++) Col+=$i ; print Col}' ` ; echo $satLine >> ${humNphy_tabe}/temp.txt  ; done < ${humNphy_tabe}/PF.URstH_BAM.anl_${DATAINI}.txt
  paste ${humNphy_tabe}/temp2.txt ${humNphy_tabe}/temp.txt > ${humNphy_tabe}/PF.URstH_BAM.anl_${PERIOD}.txt
  
  #URnegHnt fct
  grep -h "#URnegHnt_BAM.fct ${DATAINI} " *log | sed -e 's/[a-zA-Z]//g' -e 's/#_.//g' > ${humNphy_tabe}/PF.URntH_BAM.fct_${DATAINI}.txt
  echo $DATAINI > ${humNphy_tabe}/temp.txt
  mv ${humNphy_tabe}/PF.URntH_BAM.fct_${PERIOD}.txt ${humNphy_tabe}/temp2.txt
  while read URline ; do satLine=`echo ${URline} | awk '{for (i=3;i<=NF;i++) Col+=$i ; print Col}' ` ; echo $satLine >> ${humNphy_tabe}/temp.txt  ; done < ${humNphy_tabe}/PF.URntH_BAM.fct_${DATAINI}.txt
  paste ${humNphy_tabe}/temp2.txt ${humNphy_tabe}/temp.txt > ${humNphy_tabe}/PF.URntH_BAM.fct_${PERIOD}.txt
  
  #URnegHnt anl
  grep -h "#URnegHnt_BAM.anl ${DATAINI} " *log | sed -e 's/[a-zA-Z]//g' -e 's/#_.//g' > ${humNphy_tabe}/PF.URntH_BAM.anl_${DATAINI}.txt
  echo $DATAINI > ${humNphy_tabe}/temp.txt
  mv ${humNphy_tabe}/PF.URntH_BAM.anl_${PERIOD}.txt ${humNphy_tabe}/temp2.txt
  while read URline ; do satLine=`echo ${URline} | awk '{for (i=3;i<=NF;i++) Col+=$i ; print Col}' ` ; echo $satLine >> ${humNphy_tabe}/temp.txt  ; done < ${humNphy_tabe}/PF.URntH_BAM.anl_${DATAINI}.txt
  paste ${humNphy_tabe}/temp2.txt ${humNphy_tabe}/temp.txt > ${humNphy_tabe}/PF.URntH_BAM.anl_${PERIOD}.txt
  
  # Ajustes na data para a próxima rodada
  DATAINI=`${inctime} ${DATAINI} +${FCT}h %y4%m2%d2%h2`
done

#FirstGuess nos dominios 
grep -h "#URnegCONdomi_BAM.fct" *log | awk '{print $2,$3,$4,$5,$6,$7}'> ${humNphy_tabe}/URnegC_BAM.fct_${PERIOD}.txt
grep -h "#URsatCONdomi_BAM.fct" *log | awk '{print $2,$3,$4,$5,$6,$7}'> ${humNphy_tabe}/URsatC_BAM.fct_${PERIOD}.txt
grep -h "#URnegVALdomi_BAM.fct" *log | awk '{print $2,$3,$4,$5,$6,$7}'> ${humNphy_tabe}/URnegV_BAM.fct_${PERIOD}.txt
grep -h "#URsatVALdomi_BAM.fct" *log | awk '{print $2,$3,$4,$5,$6,$7}'> ${humNphy_tabe}/URsatV_BAM.fct_${PERIOD}.txt
#Analise nos dominios 
grep -h "#URnegCONdomi_BAM.anl" *log | awk '{print $2,$3,$4,$5,$6,$7}' > ${humNphy_tabe}/URnegC_BAM.anl_${PERIOD}.txt
grep -h "#URsatCONdomi_BAM.anl" *log | awk '{print $2,$3,$4,$5,$6,$7}' > ${humNphy_tabe}/URsatC_BAM.anl_${PERIOD}.txt
grep -h "#URnegVALdomi_BAM.anl" *log | awk '{print $2,$3,$4,$5,$6,$7}' > ${humNphy_tabe}/URnegV_BAM.anl_${PERIOD}.txt
grep -h "#URsatVALdomi_BAM.anl" *log | awk '{print $2,$3,$4,$5,$6,$7}' > ${humNphy_tabe}/URsatV_BAM.anl_${PERIOD}.txt

# Chamando o GNUplot para gerar a figura das series para os dominios do globo e dos perfis verticais
cd ${humNphy_tabe}
cp ${humNphy_CNT}/${MRES}/CNT*_${PERIOD}.txt .
echo " ${humNphy_run}/humNphy_plot_series_Domi.sh ${LABELINI} ${LABELF}"
${humNphy_run}/humNphy_plot_series_Domi.sh ${LABELINI} ${LABELF}

# Encontrando o numero de niveis vertical do modelo
nlinha=`more PF.URntH_BAM.fct_${PERIOD}.txt | wc -l`
nlev=`echo $nlinha -1 | bc`
echo $nlev

# Gerando o arquivo dos perfis em colunas
more PF.URntH_BAM.fct_${PERIOD}.txt | tail -n ${nlev} > PROF.URnegH_BAM.fct_${PERIOD}.txt
more PF.URntH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.URnegH_BAM.anl_${PERIOD}.txt
more PF.URstH_BAM.fct_${PERIOD}.txt | tail -n ${nlev} > PROF.URsatH_BAM.fct_${PERIOD}.txt
more PF.URstH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.URsatH_BAM.anl_${PERIOD}.txt
${eval_home}/utils/transpose.sh CNT_URntH_BAM.fct_${PERIOD}.txt | tail -n ${nlev} > PROF.CNT_URnegH_BAM.fct_${PERIOD}.txt
${eval_home}/utils/transpose.sh CNT_URntH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.CNT_URnegH_BAM.anl_${PERIOD}.txt
${eval_home}/utils/transpose.sh CNT_URstH_BAM.fct_${PERIOD}.txt | tail -n ${nlev} > PROF.CNT_URsatH_BAM.fct_${PERIOD}.txt
${eval_home}/utils/transpose.sh CNT_URstH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.CNT_URsatH_BAM.anl_${PERIOD}.txt

# Transpondo os arquivo colocando cada perfil em uma linha para as series temporal
${eval_home}/utils/transpose.sh PF.URntH_BAM.fct_${PERIOD}.txt > URntH_BAM.fct_${PERIOD}.txt
${eval_home}/utils/transpose.sh PF.URntH_BAM.anl_${PERIOD}.txt > URntH_BAM.anl_${PERIOD}.txt
${eval_home}/utils/transpose.sh PF.URstH_BAM.fct_${PERIOD}.txt > URstH_BAM.fct_${PERIOD}.txt
${eval_home}/utils/transpose.sh PF.URstH_BAM.anl_${PERIOD}.txt > URstH_BAM.anl_${PERIOD}.txt

# Descomente aqui para adicionar mais um terceiro experimento no profile e chame o #humNphy_plot_profile_3exp.sh ao inves do humNphy_plot_profile.sh
#${smg_util}/scripts/transpose.sh ARO_URnegH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.ARO_URnegH_BAM.anl_${PERIOD}.txt
#${smg_util}/scripts/transpose.sh ARO_URsatH_BAM.anl_${PERIOD}.txt | tail -n ${nlev} > PROF.ARO_URsatH_BAM.anl_${PERIOD}.txt

echo "${humNphy_run}/humNphy_plot_profile.sh ${LABELINI} ${LABELF} ${nlev}"
${humNphy_run}/humNphy_plot_profile.sh ${LABELINI} ${LABELF} ${nlev}
cp humNphy.*${PERIOD}.png ${humNphy_page}/
mv humNphy.*${PERIOD}.png ${humNphy_figu}/${PERIOD}

rm -rf PROF.*   PF.* # removendo arquivos do perfil transposto e intermediarios

# Geracao dos Fig animados do periodo dos valores não fisicos
echo ""
echo " Gerando as figs animados usando convert"
echo " Processo computacionalmente custoso!! Aguarde..."
echo ""
cd ${tempBKG}
$convert -dispose Background -delay 20 -loop 1 -density 288 RHnc_*.png ../RHncBKG_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHsc_*.png ../RHscBKG_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHnv_*.png ../RHnvBKG_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHsv_*.png ../RHsvBKG_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHlev61_*.png ../RHlev61BKG_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHlev${LsigUN}_*.png ../RHlev${LsigUN}BKG_${PERIOD}.gif
cd ${humNphy_figu}/${PERIOD}
#rm -rf ${tempBKG}
cd ${tempANL}
$convert -dispose Background -delay 20 -loop 1 -density 288 RHnc_*.png ../RHncANL_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHsc_*.png ../RHscANL_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHnv_*.png ../RHnvANL_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHsv_*.png ../RHsvANL_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHlev61_*.png ../RHlev61ANL_${PERIOD}.gif
$convert -dispose Background -delay 20 -loop 1 -density 288 RHlev${LsigUN}_*.png ../RHlev${LsigUN}ANL_${PERIOD}.gif
cd ${humNphy_figu}/${PERIOD}
#rm -rf ${tempANL}
cp *_${PERIOD}.gif ${humNphy_page}/
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/humNphy/ \033[m "
ls ${humNphy_page}/*${PERIOD}.gif
echo ""
echo -e "\033[36;1m >>>> Binarios disponiveis em:\033[m " 
echo -e "\033[33;1m ${humNphy_bina}/ \033[m "
echo -e "\033[36;1m >>>> Arquivos logs em:\033[m "
echo -e "\033[33;1m ${humNphy_logs}/ \033[m "
echo -e "\033[36;1m >>>> Figuras em:\033[m "
echo -e "\033[33;1m ${humNphy_figu}/ \033[m "
echo ""

exit 0
