#!/bin/sh

TOP=`pwd`

source /usr/local/packages/modules/init/bash
module load mpi/lam-7.1.2_gnu-3.4.6
export CCACHE_DISABLE=1

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

# build thirdparty
thirdparty()
{
    cd $TOP
    rm -rf Thirdparty
    mkdir Thirdparty
    mkdir tar
    cd $TOP/tar
    wget $REPO/apps/uintah/Thirdparty.1.25.4.tar.gz
    tar -xzf Thirdparty.1.25.4.tar.gz
    cd Thirdparty.1.25.4
    ./install.sh $TOP/Thirdparty 64 -j4
}

# checkout SCIRun
checkout()
{
    cd $TOP
    rm -rf SCIRun
    mkdir tar
    cd $TOP/tar
    wget $REPO/apps/uintah/SCIRun.tar.gz
    cd $TOP
    tar -xzf tar/SCIRun.tar.gz
}


tau()
{
    rm -rf pdtoolkit
    rm -rf tau2

    # use nightly
    cd $TOP
    mkdir tar
    cd $TOP/tar
    wget $REPO/checkouts/tau2.tar.gz
    wget $REPO/checkouts/pdtoolkit.tar.gz
    cd $TOP
    tar -xzf tar/tau2.tar.gz
    tar -xzf tar/pdtoolkit.tar.gz

    cd $TOP/pdtoolkit
    ./configure
    make install -j4
    
    cd $TOP/tau2
#    ./configure -pdt=/usr/local/packages/pdtoolkit-3.9 -mpiinc=/usr/local/packages/lam-7.1.2/gnu-3.4.6/include -mpilib=/usr/local/packages/lam-7.1.2/gnu-3.4.6/lib
#    ./configure -pdt=/usr/local/packages/pdtoolkit-3.10b1 -mpiinc=/usr/local/packages/lam-7.1.2/gnu-3.4.6/include -mpilib=/usr/local/packages/lam-7.1.2/gnu-3.4.6/lib
    ./configure -pdt=$TOP/pdtoolkit $TAU_MPI
    make clean install -j
}

# build Uintah
configure()
{
    cd $TOP/SCIRun
    rm -rf x86_64
    mkdir x86_64
    cd x86_64
    ../src/configure --enable-package=Uintah --with-mpi=/usr/local/packages/lam-7.1.2/gnu-3.4.6 --with-thirdparty=$TOP/Thirdparty/1.25.4/Linux/gcc-3.4.6-64bit --enable-64bit
}

configuretau()
{
    cd $TOP/SCIRun
    rm -rf build_tau
    mkdir build_tau
    cd build_tau
    ../src/configure --enable-package=Uintah --with-mpi=/usr/local/packages/lam-7.1.2/gnu-3.4.6 --with-thirdparty=$TOP/Thirdparty/1.25.4/Linux/gcc-3.4.6-64bit --enable-64bit --with-tau=$TOP/tau2/include/Makefile
}

build()
{
    cd $TOP/SCIRun/x86_64
    make sus -j4
}

buildtau()
{
    cd $TOP/SCIRun/build_tau
    make sus
}

run()
{
    lamboot
    cd $TOP
    wget $REPO/apps/uintah/site-visit-4.ups
    rm -rf run
    mkdir run
    cd run
    mpirun -np 4 $TOP/SCIRun/x86_64/Packages/Uintah/StandAlone/sus -mpm $TOP/site-visit-4.ups
    lamhalt
}


runtau()
{
    lamboot
    cd $TOP
    wget $REPO/apps/uintah/site-visit-4.ups
    rm -rf run_tau
    mkdir run_tau
    cd run_tau
    mpirun -np 4 $TOP/SCIRun/build_tau/Packages/Uintah/StandAlone/sus -mpm $TOP/site-visit-4.ups
    lamhalt
    DATE=`date +%Y-%m-%d`
    $TOP/tau2/x86_64/bin/paraprof --pack ~/datarepo/uintah/$DATE.ppk
    $TOP/tau2/x86_64/bin/perfdmf_loadtrial -c regression -a "Uintah" -x "Uintah Regression" -n $DATE
}

