m0n0lithic

spoa.sh

May 12th, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # Corrida diaria Modelos y rutinas SPOA
  3. #
  4. CLOGFILE=/opt/spoa/log/caribbean.log
  5. GFS_NFILES=21
  6. #Cantidad de archivos a descargar
  7. # GFS_DATAP=/spoa/WRFV33/WPS/GFS_DATA
  8. GFS_DATAP=/home/slonin/WRFV33/WPS/GFS_DATA
  9. GFS_FTP=/spoa/data/gfs/$(date '+%Y%m%d')
  10. LOGFILE=/opt/spoa/log/caribbean.log
  11. # WRF_PATH=/spoa/WRFV33/WRFV3/run
  12. WRF_PATH=/home/slonin/WRFV33/WRFV3/run
  13. GFSFTPP=gfs.$(date '+%Y%m%d')00         # "gfs.2011121600"
  14. DOM="1"
  15. HOST=1
  16. # 201208278: Eliminar log anterior si existe!
  17. # if [ -f "$CLOGFILE" ]; then
  18. #   rm $CLOGFILE
  19. # fi
  20. #2012: leer la cantidad de dominios a procesar
  21. for i in "$@"; do
  22.     if [ $i == '-dom=2' ]; then
  23.         DOM="2"
  24.     fi
  25.     if [ $i == '-host=2' ]; then
  26.         HOST=2
  27.     fi
  28. done
  29. ftpstat=`ncftpget -r1  ftpprd.ncep.noaa.gov . /pub/data/nccf/com/gfs/prod/$GFSFTPP 2>&1 > /dev/null | grep 'Connection timed out'`
  30. # ftpstat=`ncftpget -r1  ftpprd.ncep.noaa.gov . /pub/data/nccf/com/gfs/prod/$GFSFTPP 2>&1 > /dev/null | grep 'Not a regular file'`
  31. # if [ $ftpstat == "Connection timed out" ]; then exit 1; fi
  32. if [ -n "${ftpstat}" ]; then
  33.     echo "No hay acceso al servidor FTP en este momento!, Finalizando script!!!"
  34.     exit 1
  35. fi
  36. # echo "Disabling DRBD Peers on Canete & Copiapo"
  37. # sudo /sbin/drbdadm --stacked disconnect drbd0-U
  38. # sudo /sbin/drbdadm -- disconnect drbd0
  39. echo "Now is time for Download GFS data `date +%H:%M:%S`"
  40. cd /spoa/scripts/python
  41. if [ $HOST -eq 1 ]; then
  42.     # python gfsdown.py -type wrf  #bajar datos GFS y preparar namelists WRFCaribbean
  43.     python gfsdown.py -type wrf -dom=$DOM
  44. else
  45.     python gfsdown.py -type wrf -dom=$DOM -host=$HOST
  46. fi
  47. #20120210: bajar datos GFS y preparar namelists WRFCaribbean para dominio y subdom Cartagena
  48. # python gfsdown.py -type wrf >> $LOGFILE #bajar datos GFS y preparar namelists WRFCaribbean
  49.  
  50. # 20100930: VALIDACION DE TAMANO PROMEDIO ACEPTABLE DE LOS DATOS GFS DESCARGADOS
  51. # DE ELLO DEPENDERA SI LOS MODELOS SE EJECUTARAN
  52. cd $GFS_DATAP
  53. countgfs=`ls -l|awk '/'"$(date '+%b %e')"'/ {print $9}'|wc -l`
  54. #Cuenta la cantidad de ficheros descargados a la fecha, deben ser igual a GFS_NFILES
  55. if [ $countgfs -eq $GFS_NFILES ]; then
  56.         mkdir $GFS_FTP # crea folder para guardar GFS data del dia
  57.         ## 20130920: Disable GFS file size validation
  58.         ## 20131030: Enable GFS file local copy
  59.         gfsvectr=(`ls -l|awk '/'"$(date '+%b %e')"'/ {print $9}'`)
  60.         # gfsintgr=1
  61.         for gfsf in "${gfsvectr[@]}"; do
  62.         #       gfsze=`stat -c%s $gfsf`
  63.         #       echo -e "$gfsf\\t$gfsze" >> $LOGFILE
  64.         #       if [ $gfsf = "gfs.t00z.pgrb2f00" ]; then
  65.         #               if [ $gfsze -gt 43000000 ]; then
  66.                                 cp -a $gfsf $GFS_FTP
  67.         #                       continue
  68.         #               else
  69.         #                       gfsintgr=0
  70.         #                       break
  71.         #               fi
  72.         #       else
  73.         #               if [ $gfsze -gt 47000000 ]; then
  74.         #                       cp -a $gfsf $GFS_FTP
  75.         #                       continue
  76.         #               else
  77.         #                       gfsintgr=0
  78.         #                       break
  79.         #                       fi
  80.         #       fi
  81.         done
  82.         #if [ $gfsintgr -eq 1 ]; then
  83.                 echo "Ejecutando SPOA Caribbean"
  84.                 echo "1" > ~/gfsready
  85.                 # enviando 1 a ~/gfsready para ejecutar WRFPacific!
  86.  
  87.                 cd /spoa/scripts/bash
  88.                 echo "Time for SPOA Caribbean at `date +%H:%M:%S`"
  89.                 # ./caribbean.sh < /dev/null 2>&1       #1 domain
  90.                 ./caribbean.sh -dom=$DOM < /dev/null 2>&1
  91.                 # 20120830: resetear estado de gfsready a 0
  92.                 # echo "0" > ~/gfsready
  93.  
  94.                 # echo "Copia de Ficheros GFS a ODESSA:$GFS_DATAP"
  95.                 # scp -p $GFS_DATAP/* root@odessa:$GFS_DATAP
  96.                 # echo "Lanzando tarea remota caribbean.sh en ODESSA!"
  97.                 # pdsh -w root@odessa "/spoa/scripts/bash/caribbean.sh -dom=2 < /dev/null 2>&1 > /tmp/caribbean.out&"&
  98.                 # ./caribbean02.sh -dom=2 < /dev/null 2>&1  #SPOA for generate domain & subdomain
  99.                 # echo "Time for SPOA Pacific at `date +%H:%M:%S`"
  100.                 #./pacific.sh
  101.         #else
  102.         ##      echo "0" > ~/gfsready
  103.         ##      # enviando 0 a ~/gfsready NO ejecutara WRFPacific!
  104.         ##      echo "La descarga de datos GFS no es correcta, reintente manualmente mas tarde!"
  105.         ##      # 20120828: Enviar un correo notificando la novedad!
  106.         ##      python /spoa/scripts/python/smtp.py "GFS Download Failed" "La descarga de datos GFS no es correcta, reintente mas tarde!"
  107.         #fi
  108. else
  109.         echo "0" > ~/gfsready
  110.         # enviando 0 a ~/gfsready NO ejecutara WRFPacific!
  111.         echo " No cumple con los $GFS_NFILES necesarios!, reintente mas tarde"
  112.         python /spoa/scripts/python/smtp.py "GFS Download Failed" "No cumple con los $GFS_NFILES necesarios! reintente mas tarde"
  113. fi
  114. exit 1
Advertisement
Add Comment
Please, Sign In to add comment