Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #funcion para obtener la diferencia de tiempo para aplicarlo a tiempo dormido de un proceso
- dateDiff (){
- case $1 in
- -s) sec=1; shift;;
- -m) sec=60; shift;;
- -h) sec=3600; shift;;
- -d) sec=86400; shift;;
- *) sec=86400;;
- esac
- dte1=$(date --date "$1" +%s)
- dte2=$(date --date "$2" +%s)
- diffSec=$((dte2-dte1))
- if ((diffSec < 0)); then abs=-1; else abs=1; fi
- echo $((diffSec/sec*abs))
- }
- WRFHOY=$(date '+%Y-%m-%d')
- WRFPATH=/spoa/WRFV33
- GFSDATA=$WRFPATH/WPS/GFS_DATA
- SWANPATH=/spoa/swan
- #BYASPATH=/opt/spoa/data/swan/boyas
- WRFOUTP=/spoa/WRFV33/WRFV3/run
- WRFOUT_FNAME=$WRFOUTP'/wrfout_d01_'$WRFHOY'_00:00:00'
- WRFOUT_FSIZE=7225892912
- WRFOUT_PATH="/spoa/data/wrf/out/car"
- OUTPAC_FNAME=
- SHAREHOST=dimarbtaweb19
- TOTHST=5
- SWNCPU=40
- #Datos del Pacifico
- WRFOUTPAC_FNAME=/spoa/WRFV33PAC/WRFV3/run/wrfout_d01_$2_00:00:00
- WRFPAC_FSIZE=1086884724
- SWANPNG=/spoa/data/swan.png
- # SWNCPU=32
- # HPCHST=/home/slonin/.mpd.hosts
- export DISPLAY=:0.0 #localhost
- # ~/swan4051/mpiclean.sh
- # echo "Cleaning old MPI process >>>"
- # mpirun -pernode -hostfile ~/hosts.ompi orte-clean
- cd /spoa/scripts/bash
- echo "Loading wrf.sh script for CARIBBEAN using 40 CPUs >>>"
- # ./wrf.sh < /dev/null 2>&1 | tee ~/wrf.out
- ./wrf.sh < /dev/null 2>&1
- # cd $WRFOUTP
- WRFOUT_SIZE=`stat -c%s $WRFOUT_FNAME`
- if [ -f $WRFOUT_FNAME ] && [ $WRFOUT_SIZE -eq $WRFOUT_FSIZE ] #si el archivo no esta completado en su totalidad no puede ejecutar el resto
- then
- # 20111210: Anemografos Locales, out to wind3p
- cd ../matlab/anemografos
- matlab -nosplash < sl_anvir.m
- # rm temp.png archtmp.ps
- val_=`ping -c 2 $SHAREHOST 2> /dev/null | grep " 0%"` #verify webserver is alive
- if [ -n "${val_}" ]; then
- cp -p *.png /mnt/nfs/wind3p/png
- fi
- echo "ukmo: interwind & winds at `date +%H:%M:%S`"
- cd $WRFOUTP
- ./read_wrf_nc $WRFOUT_FNAME -w U10
- ./read_wrf_nc $WRFOUT_FNAME -w V10
- # cp -p /opt/spoa/ukmo_data/V*.DAT /home/ftpsite/ukmo/wind3p
- # echo "ukmo: leer_ukmo y ukmo_pac at `date +%H:%M:%S`"
- #/opt/spoa/ukmo_data/leer_ukmo && /opt/spoa/ukmo_data/ukmo_pac
- cd ~/nedwam # cambiar de homepath hacia nedwam
- ./wrfwind
- echo "Starting CaribWAM Model at `date +%H:%M:%S`"
- ./caribwam
- echo "Finishing CaribWAM Model at `date +%H:%M:%S`"
- # echo "Move virt_*.dat & run matlb at `date +%H:%M:%S`"
- # mv -f virt_*.dat $SWANPATH
- ./matlb
- cd /spoa/data/caribwam
- ./vientos
- echo "Generating MatLab CaribWAM Model Output Graphics at `date +%H:%M:%S`"
- # export DISPLAY=m0n0:0 #Enviando salidas graficas a Xming Server at m0n0
- matlab -nosplash < grafica02_spoa.m
- # matlab -nosplash -nodesktop < grafica02_spoamod.m >& script.out #using -zbuffer
- # unset DISPLAY
- rm temp.png temp.ps
- dpath=/spoa/data/caribwam
- cloud=/mnt/nfs/nedwam
- year=$(date +%Y)
- if [ ! -d "$dpath/data/$year" ] && [ ! -d "$dpath/graph/$year" ]; then
- mkdir -p $dpath/{data,graph}/$year
- fi
- hoy=$(date '+%b %e') #gentoo date format
- graph=(`ls -l *.png | awk '/'"$hoy"'/ {print $9}'`)
- num=${#graph[@]}
- echo "Copying matlab output graphics of CaribWAM Model en Webserver y backup local at `date +%H:%M:%S`"
- # val_=`ping -c 2 $SHAREHOST 2> /dev/null | grep " 0%" > /dev/null 2>&1` #verify webserver is alive
- val_=`ping -c 2 $SHAREHOST 2> /dev/null | grep " 0%"` #verify webserver is alive
- if [ -n "${val_}" ]; then
- for i in "${graph[@]}"; do
- cp -fp $i $cloud #copia PNGs recientes en nube del webserver
- echo "caribwam: cp -fp $i to $cloud"
- mv -f $i $dpath/graph/$year #mueve archivos PNGs recientes a estructura local de backup
- done
- fi
- datname=crb$year$(date +%m%d).dat
- echo "Move $datname to $dpath/data/$year at `date +%H:%M:%S`"
- mv $datname $dpath/data/$year #mueve el ultimo .dat a la carpeta de backup
- #20100824: Move wrfout data
- cd $WRFPATH/WRFV3/run
- wrfout=`ls wrfout_d01_$(date '+%Y-%m-%d')_00:00:00`
- mv $wrfout $WRFOUT_PATH
- else
- echo "$WRFOUT_FNAME no es correcto!"
- exit 1
- fi
- # SWAN Model - Locales
- cd $SWANPATH
- # Cartagena
- cp -a virt_b5.dat virt_b5n.dat;cp -a virt_b5.dat virt_b5w.dat;cp -a virt_b5.dat virt_b5s.dat
- ./swanrun -input cp05 -mpi $SWNCPU
- # CP03 - BARRANQUILLA Y SANTA MARTA (real 2m30.172s)
- cp virt_b6.dat virt_b6n.dat;cp virt_b6.dat virt_b6w.dat;cp virt_b6.dat virt_b6e.dat
- echo "Distribute Computing Over 5 nodes for Caribbeam SWAN Model at `date +%H:%M:%S`"
- ./swanrun -input cp03 -mpi $SWNCPU
- # COVENHAS (1m8.106s)
- cp virt_b4.dat virt_b4n.dat;cp virt_b4.dat virt_b4w.dat
- ./swanrun -input cp09 -mpi $SWNCPU
- # CP07 - SAI (0m41.269s)
- cp virt_b1.dat virt_b1n.dat;cp virt_b1.dat virt_b1w.dat;cp virt_b1.dat virt_b1s.dat;cp virt_b1.dat virt_b1e.dat
- ./swanrun -input cp07 -mpi 8
- # CP12 - PROVIDENCIA (0m23.646s)
- cp virt_b2.dat virt_b2n.dat;cp virt_b2.dat virt_b2w.dat;cp virt_b2.dat virt_b2s.dat;cp virt_b2.dat virt_b2e.dat
- ./swanrun -input cp12 -mpi $SWNCPU
- #CP08 - URABA (6m54.726s)
- cp virt_b3.dat virt_b3n.dat;cp virt_b3.dat virt_b3w.dat;cp virt_b3.dat virt_b3e.dat
- ./swanrun -input cp08 -mpi $SWNCPU
- #CP06 - RIOHACHA (1m47.945s)
- cp virt_b7.dat virt_b7n.dat;cp virt_b7.dat virt_b7w.dat;cp virt_b7.dat virt_b7e.dat
- ./swanrun -input cp06 -mpi $SWNCPU
- #CP14 - P. Bolivar (2m51.942s)
- cp virt_b8.dat virt_b8n.dat;cp virt_b8.dat virt_b8w.dat;cp virt_b8.dat virt_b8e.dat
- ./swanrun -input cp14 -mpi $SWNCPU
- # Fin de ejecución para locales swn
- cd ../data/swan
- ./outtodo
- matlab -nosplash < grafica_locales.m
- SWNDATAPATH=$SWANPNG/$(date '+%Y%m%d')/car
- if [ ! -d "$SWNDATAPATH" ]; then
- mkdir -p $SWNDATAPATH
- fi
- val_=`ping -c 2 $SHAREHOST 2> /dev/null | grep " 0%"` #verify webserver is alive
- for fichero in cp*.png;
- do
- newarchivo=($(ls -lt --full-time $fichero))
- fecha=${newarchivo[5]:0:4}${newarchivo[5]:5:2}${newarchivo[5]:8:2}
- nombre=${fichero:0:4}
- newarchivo=$nombre$fecha.png
- echo $newarchivo
- if [ -n "${val_}" ]; then
- cp -a $fichero /mnt/nfs/swan/carib/${newarchivo}
- echo "SWAN: cp -a $fichero to /mnt/nfs/swan/carib/${newarchivo}"
- fi
- mv $fichero $SWNDATAPATH
- done
- echo "End of SPOA Caribbean at `date +%H:%M`"
- exit 1
Advertisement
Add Comment
Please, Sign In to add comment