#!/bin/bash -x


source ./env.sh

rm -rf contrib
mkdir contrib

REPO="http://www.nic.uoregon.edu/~amorris/regression"

setup()
{
    rm -rf facetsall facetspkgs
    wget --quiet $REPO/checkouts/facetsall.tar.gz
    wget --quiet $REPO/checkouts/facetspkgs.tar.gz
    tar -xzf facetsall.tar.gz
    tar -xzf facetspkgs.tar.gz
}
(time setup 2>&1) 2>&1 | tee setup.log

pkgs()
{
    cd $TOP/facetspkgs
    rm *built
    ./mkfcpkgs.sh -a -j 4 -i $TOP/contrib
}
(time pkgs 2>&1) 2>&1 | tee build-pkgs.log


facets()
{
    cd $TOP/facetsall
    ./mkfcall.sh -a -O -i $TOP/prefix -j 4 -p $TOP/contrib:$TOP/prefix
}
(time facets 2>&1) 2>&1 | tee build-facets.log

runsigma()
{
    revision=`cat $TOP/facetsall/facets/svninfo.txt  | grep "Revision" | awk '{print $2}'`
    export TAU_METADATA="<attribute><name>SVN Revision</name><value>$revision</value></attribute>"

    cd $TOP/facetsall/fctests/tests/core
    ../../txutils/txpp.py core-astra-cmp-fmcfm.pre NCELL=128 TEND=0.010 NFRAMES=1
    mpirun -np 4 $TOP/prefix/facets-partau/bin/facets -i core-astra-cmp-fmcfm.in 
    
    DATE=`date +%Y-%m-%d`
    EXP=`date "+%B %Y"`
    $TOP/contrib/tau/bin/perfdmf_loadtrial -c regression -a "FACETS" -x "FACETS Sigma Regression" -n $DATE
    $TOP/contrib/tau/bin/paraprof --pack $DATE.ppk
    $TOP/contrib/tau/bin/paraprof --pack ~/datarepo/facets-sigma/$DATE.ppk
    if [ -f ~/datarepo/facets-sigma/$DATE.ppk ] ; then
	mkdir -p $HOME/apps/regression/latest-working
	cd $HOME/apps/regression/latest-working
	rm -rf facets-sigma
	mkdir -p facets-sigma/$DATE
	cp -a $TOP facets-sigma/$DATE
    fi
}

runmist()
{

    cd $TOP
    ln -s facetsall/physics/fctests/tests/core-astra-verif run
    cd $TOP/facetsall/physics/fctests/tests/core-astra-verif
    ../../txutils/txpp.py core-astra-verif.pre NCELL=256 

    wget $REPO/apps/facets/mist.pbs

    qsub -V -l nodes=1:ppn=1,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=1:ppn=2,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=1:ppn=4,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=1:ppn=8,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=2:ppn=8,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=4:ppn=8,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=8:ppn=8,walltime=00:30:00 mist.pbs
    qsub -V -l nodes=16:ppn=8,walltime=00:30:00 mist.pbs
}

if [ $(hostname) = "sigma.cs.uoregon.edu" ]; then
    (time runsigma 2>&1) 2>&1 | tee run.log
else
    (time runmist 2>&1) 2>&1 | tee run.log
fi
