SatAndLight  2.2.2-hubble
Simulation toolkit for space telescopes

The SatAndLight package was developed to simulate astrophysical observations in space. Various out-of-the-box command-line programs can be used to generate observation sequences. These programs are highly tunable and user-friendly. For more details, see the program documentation.

For specific studies, SatAndLight offers a set of C++ classes to describe scientific instruments embarked in a satellite. Single elements are simulated separately: the satellite, the telescope elements (optics, geometry, camera...), sources of photons, etc... They are represented as C++ classes with associated methods. Taking advantage of the C++ class inheritance, these elements can be combined altogether to simulate an end-to-end observation sequence of astrophysical objects. A SatAndLight observation sequence can be saved on disk and be replayed as an input for analysis: see

User programs

SatAndLight comes with a collection of user programs using SatAndLight libraries:

In addition, user programs are available to help with the parameterization of your simulation:

Download SatAndLight

First, define your source directory and your installation directories. For example:

export SNL_SRCDIR=${HOME}/src
export SNL_INSTALLDIR=${HOME}/opt/SatAndLight

You can download the SatAndLight source tarball from gitlab:

 tar -xzf SatAndLight-[X.Y.Z-relname].tar.gz

where [X.Y.Z-relname] is the SatAndLight version of your choice.

Alternatively, you can get a development copy of the SatAnLight software suite using git and select a release tag:

 git clone
 cd SatAndLight/
 git checkout [X.Y.Z-relname]

Build SatAndLight

The SatAndlight package relies on several external packages which you must install on your machine:

  • ROOT libraries are used for plotting and data management. ROOT (version 6) must be installed including cfitsio-devel and fftw-devel libraries. The ROOT environment must be sourced with ${ROOTSYS}/bin/
  • CMake is used to build SatAndLight.
  • Doxygen is used to build the SatAndLight documentation. This package is optional.

In this section we give step-by-step instructions to build SatAndLight for UNIX (bash/sh) systems.

# go to the source directory
cd ${SNL_SRCDIR}/SatAndLight/

# create the build directory
mkdir ./build/; cd ./build/

# configure SatAndLight

# compile SatAndLight

# install SatAndLight
make install

An environment script has been generated. It must be sourced before using SatAndLight:

source ${SNL_INSTALLDIR}/etc/

You can test that SatAndLight is correctly installed by typing:

snl-sequence version

If you have the Doxygen software installed in your machine, you can access SatAndLight documentation with a web browser at file://${SNL_INSTALLDIR}/share/doc/SatAndLight/html/index.html.

Develop a project on top of SatAndLight libraries

SatAndLight offers a set of C++ classes to describe scientific instruments embarked in a satellite. The corresponding libraries can be used to develop user programs or projects:

  • C++ classes: documentation for SatAndLight C++ classes.
  • Definitions & Conventions: SatAndLight comes with a set of definitions and conventions which must be considered when developing a user project.
  • TBC: documentation to integrate your project with CMake.

Documentation and links


Related pages

See all documentation pages in the Related Pages


Florent Robinet - Laboratoire de Physique des 2 Infinis Irène Joliot-Curie (IJCLab) Orsay, France - contact


  • Shaymaa Hussein (IJCLab)