|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +echo |
| 4 | +echo "Install git and python, must be installed for other components" |
| 5 | +sudo apt-get -y upgrade |
| 6 | +sudo apt-get -y install git python3-venv python3-pip python3-tk python3-pil.imagetk |
| 7 | + |
| 8 | +echo |
| 9 | +if [[ -z $1 && -z $2 ]]; then |
| 10 | + echo "No user name set for git repositories!" |
| 11 | +else |
| 12 | + git config --global user.name "$1" |
| 13 | + git config --global user.email "$2" |
| 14 | + echo "User .name=$1 and .email=$2 have been set for git repositories!" |
| 15 | +fi |
| 16 | +git config --global credential.helper store |
| 17 | + |
| 18 | +echo |
| 19 | +if [[ -z $3 ]]; then |
| 20 | + WORKDIR=$HOME/tesp |
| 21 | +else |
| 22 | + WORKDIR=$HOME/$3 |
| 23 | +fi |
| 24 | +echo "Install TESP home directory" |
| 25 | +echo "TESP home dirctory is $WORKDIR" |
| 26 | + |
| 27 | +cat > "$HOME/tespEnv" << EOF |
| 28 | +. $VIRTUAL_ENV/bin/activate |
| 29 | +
|
| 30 | +# TESP exports |
| 31 | +export TESPDIR=$WORKDIR |
| 32 | +export INSTDIR=\$TESPDIR/tenv |
| 33 | +export REPODIR=\$TESPDIR/repository |
| 34 | +export TESPBUILD=\$TESPDIR/scripts/build |
| 35 | +export TESPHELPR=\$TESPDIR/scripts/helpers |
| 36 | +
|
| 37 | +# COMPILE exports |
| 38 | +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 |
| 39 | +export PYHELICS_INSTALL=\$INSTDIR |
| 40 | +export GLPATH=\$INSTDIR/lib/gridlabd:\$INSTDIR/share/gridlabd |
| 41 | +export CPLUS_INCLUDE_PATH=/usr/include/hdf5/serial:\$INSTDIR/include |
| 42 | +export FNCS_INCLUDE_DIR=\$INSTDIR/include |
| 43 | +export FNCS_LIBRARY=\$INSTDIR/lib |
| 44 | +export LD_LIBRARY_PATH=\$INSTDIR/lib |
| 45 | +export LD_RUN_PATH=\$INSTDIR/lib |
| 46 | +# export BENCH_PROFILE=1 |
| 47 | +
|
| 48 | +# PATH |
| 49 | +export PATH=\$INSTDIR/bin:\$PATH |
| 50 | +export PATH=\$JAVA_HOME:\$PATH |
| 51 | +export PATH=\$PATH:\$INSTDIR/energyplus |
| 52 | +export PATH=\$PATH:\$INSTDIR/energyplus/PreProcess |
| 53 | +export PATH=\$PATH:\$INSTDIR/energyplus/PostProcess |
| 54 | +export PATH=\$PATH:\$TESPHELPR |
| 55 | +
|
| 56 | +# PSST environment variables |
| 57 | +export PSST_SOLVER=cbc |
| 58 | +# 'PSST_SOLVER path' -- one of "cbc", "ipopt", "/ibm/cplex/bin/x86-64_linux/cplexamp" |
| 59 | +export PSST_WARNING=ignore |
| 60 | +# 'PSST_WARNING action' -- one of "error", "ignore", "always", "default", "module", or "once" |
| 61 | +
|
| 62 | +# PROXY export if needed |
| 63 | +# export HTTPS_PROXY=http://proxy01.pnl.gov:3128 |
| 64 | +EOF |
| 65 | + |
| 66 | +echo |
| 67 | +echo "Install a virtual python environment to $HOME/.tvenv" |
| 68 | +python3 -m pip install --upgrade pip |
| 69 | +python3 -m pip install virtualenv |
| 70 | +python3 -m venv "$HOME/.tvenv" --prompt TESP |
| 71 | + |
| 72 | +source "$HOME/tespEnv" |
| 73 | + |
| 74 | +echo "Installing Python Libraries..." |
| 75 | +which python > "$HOME/tesp_pypi.log" 2>&1 |
| 76 | +pip install --upgrade pip >> "$HOME/tesp.log" 2>&1 |
| 77 | + |
| 78 | +git clone --no-checkout main https://github.com/pnnl/tesp "$TESPDIR" |
| 79 | +cd "$TESPDIR" || exit |
| 80 | +git checkout HEAD requirements.txt |
| 81 | +pip install -r "$TESPDIR/requirements.txt" >> "$HOME/tesp.log" 2>&1 |
| 82 | + |
| 83 | +echo "Installing Python TESP API..." |
| 84 | +pip install tesp_support >> "$HOME/tesp.log" 2>&1 |
| 85 | + |
0 commit comments