# This script should only be called from the "archive_sparc.sh" script # The processing in this script will run *every* time data is collected for archiving. # Anything less frequent than that should be moved to its own cron job. # This script should only be run if the "sparchive_post" command is available in the PATH. oops() { echo "ERROR: $*" if [ -d $work_dir ]; then echo "INFO: Removing temporary work directory: $work_dir" rm -rf $work_dir fi exit 1 } if [ "`which sparchive_post`" == "" ]; then echo "ERROR: 'sparchive_post' command is required to run this post processing script" exit 1 fi EXP_NAME=$1 date_yyyymmdd=$2 # XXX: This script should only deal with data from the cache/raw (no incoming data) EXP_PATH="${SPARCHIVE_CACHE_ROOT}/${EXP_NAME}" work_dir="NOT_SET" # Daily jobs echo "Running windpro profile post processing for ${EXP_NAME} on $date_yyyymmdd" work_dir=`mktemp -d ${SPARCHIVE_TMP_ROOT}/post_${date_yyyymmdd}_XXXXXX` || oops "Failed to create temporary work directory" chmod 777 $work_dir || oops "Failed to change temporary work directory permissions" cd $work_dir || oops "Couldn't change to temporary directory" echo "Created temporary working directory: $work_dir" ######################## # Run WindPro DMV2NCDF # ######################## echo "Creating WindPro profile files from data on ${date_yyyymmdd}" sudo -u timw ${SPARCHIVE_SCRIPTS_ROOT}/run_windpro_process_profile.sh ${EXP_PATH}/${WINDPRO}/${date_yyyymmdd}/raw ${work_dir} || oops "Could not make windpro profile files" echo "Moving WindPro profile files to Cache location" sparchive_post -vvv --experiment ${EXP_NAME} ${WINDPRO} "profiles" ${date_yyyymmdd} *.dat *.png || oops "Could not archive windpro profile files" echo "Removing temporary work directory: $work_dir" rm -rf ${work_dir} || oops "Failed to remove the work directory: $work_dir"