m0n0lithic icon

spoa.sh

m0n0lithic | PRO | 05/12/14 01:10:26 PM UTC | 0 ⭐ | 365 👁️ | Never ⏰ | []
Bash |

4.99 KB

|

None

|

0 👍

/

0 👎

#!/bin/bash
# Corrida diaria Modelos y rutinas SPOA
#
CLOGFILE=/opt/spoa/log/caribbean.log
GFS_NFILES=21
#Cantidad de archivos a descargar
# GFS_DATAP=/spoa/WRFV33/WPS/GFS_DATA
GFS_DATAP=/home/slonin/WRFV33/WPS/GFS_DATA
GFS_FTP=/spoa/data/gfs/$(date '+%Y%m%d')
LOGFILE=/opt/spoa/log/caribbean.log
# WRF_PATH=/spoa/WRFV33/WRFV3/run
WRF_PATH=/home/slonin/WRFV33/WRFV3/run
GFSFTPP=gfs.$(date '+%Y%m%d')00         # "gfs.2011121600"
DOM="1"
HOST=1
# 201208278: Eliminar log anterior si existe!
# if [ -f "$CLOGFILE" ]; then
#   rm $CLOGFILE
# fi
#2012: leer la cantidad de dominios a procesar
for i in "$@"; do
    if [ $i == '-dom=2' ]; then
        DOM="2"
    fi
    if [ $i == '-host=2' ]; then
        HOST=2
    fi
done
ftpstat=`ncftpget -r1  ftpprd.ncep.noaa.gov . /pub/data/nccf/com/gfs/prod/$GFSFTPP 2>&1 > /dev/null | grep 'Connection timed out'`
# ftpstat=`ncftpget -r1  ftpprd.ncep.noaa.gov . /pub/data/nccf/com/gfs/prod/$GFSFTPP 2>&1 > /dev/null | grep 'Not a regular file'`
# if [ $ftpstat == "Connection timed out" ]; then exit 1; fi
if [ -n "${ftpstat}" ]; then
    echo "No hay acceso al servidor FTP en este momento!, Finalizando script!!!"
    exit 1
fi
# echo "Disabling DRBD Peers on Canete & Copiapo"
# sudo /sbin/drbdadm --stacked disconnect drbd0-U
# sudo /sbin/drbdadm -- disconnect drbd0
echo "Now is time for Download GFS data `date +%H:%M:%S`"
cd /spoa/scripts/python
if [ $HOST -eq 1 ]; then
    # python gfsdown.py -type wrf  #bajar datos GFS y preparar namelists WRFCaribbean
    python gfsdown.py -type wrf -dom=$DOM
else
    python gfsdown.py -type wrf -dom=$DOM -host=$HOST
fi
#20120210: bajar datos GFS y preparar namelists WRFCaribbean para dominio y subdom Cartagena
# python gfsdown.py -type wrf >> $LOGFILE #bajar datos GFS y preparar namelists WRFCaribbean
 
# 20100930: VALIDACION DE TAMANO PROMEDIO ACEPTABLE DE LOS DATOS GFS DESCARGADOS
# DE ELLO DEPENDERA SI LOS MODELOS SE EJECUTARAN
cd $GFS_DATAP
countgfs=`ls -l|awk '/'"$(date '+%b %e')"'/ {print $9}'|wc -l`
#Cuenta la cantidad de ficheros descargados a la fecha, deben ser igual a GFS_NFILES
if [ $countgfs -eq $GFS_NFILES ]; then
        mkdir $GFS_FTP # crea folder para guardar GFS data del dia
        ## 20130920: Disable GFS file size validation
        ## 20131030: Enable GFS file local copy
        gfsvectr=(`ls -l|awk '/'"$(date '+%b %e')"'/ {print $9}'`)
        # gfsintgr=1
        for gfsf in "${gfsvectr[@]}"; do
        #       gfsze=`stat -c%s $gfsf`
        #       echo -e "$gfsf\\t$gfsze" >> $LOGFILE
        #       if [ $gfsf = "gfs.t00z.pgrb2f00" ]; then
        #               if [ $gfsze -gt 43000000 ]; then
                                cp -a $gfsf $GFS_FTP
        #                       continue
        #               else
        #                       gfsintgr=0
        #                       break
        #               fi
        #       else
        #               if [ $gfsze -gt 47000000 ]; then
        #                       cp -a $gfsf $GFS_FTP
        #                       continue
        #               else
        #                       gfsintgr=0
        #                       break
        #                       fi
        #       fi
        done
        #if [ $gfsintgr -eq 1 ]; then
                echo "Ejecutando SPOA Caribbean"
                echo "1" > ~/gfsready
                # enviando 1 a ~/gfsready para ejecutar WRFPacific!
 
                cd /spoa/scripts/bash
                echo "Time for SPOA Caribbean at `date +%H:%M:%S`"
                # ./caribbean.sh < /dev/null 2>&1       #1 domain
                ./caribbean.sh -dom=$DOM < /dev/null 2>&1
                # 20120830: resetear estado de gfsready a 0
                # echo "0" > ~/gfsready
 
                # echo "Copia de Ficheros GFS a ODESSA:$GFS_DATAP"
                # scp -p $GFS_DATAP/* root@odessa:$GFS_DATAP
                # echo "Lanzando tarea remota caribbean.sh en ODESSA!"
                # pdsh -w root@odessa "/spoa/scripts/bash/caribbean.sh -dom=2 < /dev/null 2>&1 > /tmp/caribbean.out&"& 
                # ./caribbean02.sh -dom=2 < /dev/null 2>&1  #SPOA for generate domain & subdomain
                # echo "Time for SPOA Pacific at `date +%H:%M:%S`"
                #./pacific.sh
        #else
        ##      echo "0" > ~/gfsready
        ##      # enviando 0 a ~/gfsready NO ejecutara WRFPacific!
        ##      echo "La descarga de datos GFS no es correcta, reintente manualmente mas tarde!"
        ##      # 20120828: Enviar un correo notificando la novedad!
        ##      python /spoa/scripts/python/smtp.py "GFS Download Failed" "La descarga de datos GFS no es correcta, reintente mas tarde!"
        #fi
else
        echo "0" > ~/gfsready
        # enviando 0 a ~/gfsready NO ejecutara WRFPacific!
        echo " No cumple con los $GFS_NFILES necesarios!, reintente mas tarde"
        python /spoa/scripts/python/smtp.py "GFS Download Failed" "No cumple con los $GFS_NFILES necesarios! reintente mas tarde"
fi
exit 1

Comments