LSST Simulation Docker Image

A Docker image has been created that contains all of the LSST pipeline software as well as the simulation software. It is available from the Docker repository as jamespepcc/lsstsimulations:1.2. Please see the Docker Introduction page for more information about using Docker containers.

To run the image:

docker run -ti jamespepcc/lsstsimulations:1.2

(You may need to include additional command line options if you wish to make use of shared folders, port forwarding, or other Docker features).

Within the container, sourcing the loadLSST.bash script (or the equivalent for your shell) will set up the environment ready for using the LSST software. Individual packages can then be initialised using the setup command. So to set up for using MAF, for example, you need to run the following:

source /opt/lsst/software/stack/loadLSST.bash
setup sims_maf -t sims

For more information on how to find out what packages are available, install more packages, etc., please see the EUPS documentation. The current version of the container (v1.2) is based on the LSST pipeline software v14 and Python 3.6. An older version based on v13 and Python 2.7 is available as jamespepcc/lsstsimulations:1.1.

MAF Tutorial Notebooks

A set of iPython tutorial notebooks for the MAF software is available from GitHub. After running the Docker image (or installing the LSST simulation software some other way), clone:

https://github.com/LSST-nonproject/sims_maf_contrib.git

The tutorial notebooks are in the tutorials directory within this repository. A few additional steps are required in order to successfully run Jupyter notebooks from within Docker:

  • You must pass "-p 8888:8888" to docker run in order to make the port accessible from outside the container
  • Before running notebooks you must set a password by running:
    • mkdir ~/.jupyter
    • jupyter notebook password
  • When running jupyter notebook you must pass the "--ip 0.0.0.0" option on the command line to make the server bind to the correct network address
  • You must determine the correct network address to access the Docker container from the host system. On Windows this is usually 192.168.99.100; on Mac OS X it is localhost; on Linux it can be determined using the docker ps and docker inspect commands. More details are given on the Docker Introduction page

You should then be able to access the notebooks by opening a web browser on your local system, navigating to the address determined above (port 8888), and entering the password you set earlier.

Many of the notebooks require SQLite databases in order to run. These can be downloaded from:

http://ops2.tuc.noao.edu/runs/enigma_1189/data/enigma_1189_sqlite.db.gz
http://ops2.tuc.noao.edu/runs/ops2_1114/data/ops1_1114_sqlite.db
http://opsim.lsst.org/runs/reference_run/minion_1016/minion_1016_sqlite.db.gz

The majority of the notebooks work fine once the data has been downloaded, unzipped (if applicable) and placed in the directory along with the notebooks. However, some will give errors if run with the current stable version of the MAF software, and only work with the latest development version from Github (see https://github.com/lsst/sims_maf).

Two of the notebooks could not be run due to the input data not being available:

  • SDSSSlicer requires a connection to the "fatboy-private" database at the University of Washington, which I do not have an account for.
  • Slicers requires a data set called pontus_1074 which I was not able to find anywhere online.

Differences from LSST Docker Container

This Docker container is based on a container provided by LSST, containing much of the LSST software stack (lsstsqre/centos:7-stack-lsst_distrib-v13_0), but with several additional software packages installed. This additional software is:

  • Pip, a tool used to easily install other Python software
  • python-devel, required in order to install some of the modules below
  • jupyter, the iPython notebook software
  • matplotlib, astropy and sncosmo, required by some of the tutorial notebooks
  • lsst_sims, containing all of the LSST simulation software

The Dockerfiles used to build the simulations container (and the "tutorial" container on which it is based) are attached to this wiki page.

If you require this document in an alternative format, please contact the LSST:UK Project Managers lusc_pm@mlist.is.ed.ac.uk or phone +44 131 651 3577