The general philosophy of the LSST software stack is that some python dependencies are so ubiquitous in scientific computing environments that it is more difficult for users to provide new versions than it is to supply them with the stack. The simulations framework relies on the following dependencies that are not part of the LSST stack:
The recommended install instructions will provide these dependencies for you through an Anaconda distribution.
Recommended Installation Instructions
The recommended (simplest) approach is to use the newest W14 LSST software stack, and use the LSST-provided version of anaconda python. (See here if you want to use your own python).
1. Start by installing the necessary parts of the LSST software stack and the LSST-installed anaconda.
In these instructions we assume you are installing in ~/lsst, however the install directory can be any place in the file system, including a place visible to all users.
mkdir ~/lsst cd ~/lsst curl -O http://sw.lsstcorp.org/eupspkg/newinstall.sh bash newinstall.sh
Choose yes when prompted to install Anaconda. Choose yes when prompted to install git. These packages will not interfere with your system installed versions.
2. Set up the environment and install the simulations code and data.
Source the appropriate shell script and use eups (see here for more info) to install the software and data.
source ~/lsst/loadLSST.csh eups distrib install lsst_sims -t sims
This will install all packages currently in the catalogs simulations framework (CatSim) and metrics analysis framework (MAF) and all dependencies. Currently the complete list of installed packages is:
Any of the above packages and all their dependencies can be installed by replacing lsst_sims with the appropriate package name in the above code snippet (e.g. sims_maf). Installation is now complete. See package specific pages for documentation.
When contributing to development work it is often useful to use most packages from an installed stack and only keep local copies of the repositories that need work. For pure python packages, this is straightforward. The following steps will put a local copy of sims_maf into a pre-existing stack.
1. Move to a directory to hold the working repository and clone it:
mkdir ~/lsstRepos; cd ~/lsstRepos git clone https://$USER@stash.lsstcorp.org/scm/sim/sims_maf.git
Note that you will need a password on the stash server (or have set up ssh keys) to push to the server.
2. Declare and build the package:
cd sims_maf eups declare -r . -t $USER setup sims_maf -t $USER scons
See here for the confluence question dealing with how to be polite in a shared stack.
3. Code, commit and push
Code reviews should be handled by branching the repository and issuing a pull request through stash.