#!/bin/bash
#################################################################################
# Script que se encarga de que se ejecuten todas las fases de preproceso para
# todos los dominios.
#
# Marcos Molina Cano - 14/06/2016
#################################################################################

# Definición de directorios necesarios.
TOP_DIR="${HOME}/WRF"
TOP_DOMINIO="${TOP_DIR}/domains"

# Antes de nada, se comprueba que el dominio ESP010 ya ha sido calculado. Si no es así,
# salimos.
DOMAIN_DIR="${TOP_DIR}/domains/ESP010"
WPS_FINISHED="${DOMAIN_DIR}/WPS_ESP010_`date +%Y%m%d`_00.FINALIZADO"
if test ! -e ${WPS_FINISHED} ; then
  exit
fi

# Definición del archivo de bloqueo y de finalización.
wps_run_padre_LOCKFILE=${TOP_DOMINIO}/wps_run_padre.lock
wps_run_padre_FINISHED=${TOP_DOMINIO}/wps_run_padre_`date -u +%Y%m%d_00`.FINISHED

# Comprobación de que no existe el archivo de finalización. Si existe, salimos pues
# el trabajo ya ha sido completado anteriormente.
if test -e ${wps_run_padre_FINISHED} ; then
  exit
fi

# Comprobación de que no existe el archivo de bloqueo. Si existe, salimos. Si no,
# lo creamos para empezar el trabajo.
if test -e ${wps_run_padre_LOCKFILE} ; then
  exit
else
  touch ${wps_run_padre_LOCKFILE}
fi

# Lista de dominios a estudiar.
dominio="AMN013 AMS013 AZO010 EUR010 MAG016 RUS015"

problemas=0
for DOMINIO in ${dominio} ; do
  DOMAIN_DIR="${TOP_DIR}/domains/${DOMINIO}"
  WPS_FINISHED="${DOMAIN_DIR}/WPS_${DOMINIO}_`date +%Y%m%d`_00.FINALIZADO"

  if test -e ${WPS_FINISHED} ; then
    continue
  fi

  ${HOME}/wrf_model/scripts/wps_run_gcc.sh ${DOMINIO}

  if test ! -e ${WPS_FINISHED} ; then
    problemas=1
  fi
done

if test ${problemas} -gt 0 ; then
  rm ${wps_run_padre_LOCKFILE}
else
  rm ${wps_run_padre_LOCKFILE}
  touch ${wps_run_padre_FINISHED}
fi
