====== Node local directories on the LIGO Data Grid ====== Compiling code uses a lot of input/output, and so is much better performed using a disk that is local to the machine on which you are running. On the LIGO Data Grid, the ''~'' home directory is mounted from a shared RAID array, and so isn't local, but all users have a directory on all machines that is. In particular, if you are compiling the LALSuite stack from the git repository, it is advised to clone the repository into one of these local directories, and compile everything in there before installing back into your ''~'' home directory. ===== Atlas ===== On the ''atlas'' system, the local directory is /local/user/${USER} ===== Nemo ===== On the ''nemo'' system at UWM, the local directory is /people/${USER} ===== CIT/LHO/LLO/Sugar ===== On the LIGO systems at CIT, LHO and LLO, and the ''sugar'' system at Syracuse the local directory is /usr1/${USER} ===== Bash detection ===== The following ''bash'' code block will detect the system and set the ''LOCALDIR'' variable appropriately, if and only if it is not already set: HOSTNAME2=$(hostname -f 2>/dev/null || hostname) if [[ -z "${LOCALDIR}" ]]; then if [[ "${HOSTNAME2}" == *phys.uwm* ]]; then LOCALDIR=/people/${USER} elif [[ "${HOSTNAME2}" == *astro.cf* ||\ "${HOSTNAME2}" == *atlas.aei* ]]; then LOCALDIR=/local/user/${USER} elif [[ "${HOSTNAME2}" == *phy.syr* ||\ "${HOSTNAME2}" == *ligo*caltech* ]]; then LOCALDIR=/usr1/${USER} elif [[ "${HOSTNAME2}" == *arcca* ]]; then LOCALDIR=/scratch/${USER} else LOCALDIR=${HOME} fi fi unset HOSTNAME2 export LOCALDIR