A parallel, free-form gravitational lens modeling tool and framework
GLASS is a software package for modeling strong gravitianal lenses. It produces an ensemble of possible models that fit the observed input data and conform to certain constraints specified by the user. This document describes the installation process and how to run a typical case.
GLASS is currently written in Python 2.7 with a small portion written in C. GLASS does not support Python 3 at the current time. GLASS makes heavy use of the numerical routines provided by the numpy and scipy packages as well as the linear programming package GLPK. This latter package, and its Python interface, is provided with GLASS and will be installed automatically in the GLASS build directory by following the directions below.
GLASS can be downloaded as a .zip file or using git from GitHub:
After obtaining the source code, it will, by default, be located in a directory called 'glass'.
GLASS and the GLPK can be built simply by running the command 'make' in the glass source code directory. This will unpack the GLPK packages and compile them. It will also build and install GLASS. All compiled code and executables will exist under the glass/build directory.
In the glass directory there is a script called 'run_glass' which will execute GLASS with the proper environment paths regardless of the current directory.
For example, running 'run_glass' with no arguments produces the following output:
$ ./run_glass Usage: glass.py <input>
The Examples directory contains a number of example input files. The simplest example is B1115.gls
Run this example from the Examples directory:
Examples $ ../run_glass B1115.gls
This will produce an output file B1115.state which contains the entire running state of the modeling including all of the generated models.
In the 'Tools' directory there is a proram called 'viewstate.py' uses GLASS as a library and can generate plots from the output state file. To see the default plots run the command
Examples $ ../run_glass ../Tools/viewstate.py B1115.state