Skip to content
Snippets Groups Projects

LISA Instrument

Python package package simulating instrumental noises, the propagation of laser beams, the measurements and the on-board processing.

The HDF5 measurement file has the following structure,

  |- [[[[WIP...]]]]
  |

Metadata are saved as attributes of the measurement file.

You can use pre-generated measurement files, or create your own files with custom simulation parameters. Please read carefully this README for more information. Documentation is available as docstring for instrumental simulation and for noise generation.

Use pre-generated measurement files

In the table below, we list each measurement file automatically generated and available for download. We provide a link to download the measurement file, and a link to quickly visualize its content.

Name Description Measurement file Figures

Generate a custom measurement file

Make sure that Python 3.7 or newer is available, and install lisaconstants and lisainstrument using pip,

pip install git+https://gitlab.in2p3.fr/lisa-simulation/python-constants.git
pip install git+https://gitlab.in2p3.fr/lisa-simulation/instrument.git

You can create a new measurement file,

from lisainstrument import Instrument
Instrument().write()

You can parametrize the simulation by setting the desired arguments when instantiating your instrument,

Instrument(aafilter=0, dt=0.25, size=10000).write()

Plot measurements

[[[[WIP...]]]]

Contributing

Report an issue

We use the issue-tracking management system associated with the project provided by Gitlab. If you want to report a bug or request a feature, open an issue at https://gitlab.in2p3.fr/lisa-simulation/instrument/-/issues. You may also thumb-up or comment on existing issues.

Development environment

We strongly recommend to use Python virtual environments.

To setup the development environment, use the following commands:

git clone git@gitlab.in2p3.fr:lisa-simulation/instrument.git
cd instrument
python -m venv .
source ./bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Workflow

The project's development workflow is based on the issue-tracking system provided by Gitlab, as well as peer-reviewed merge requests. This ensures high-quality standards.

Issues are solved by creating branches and opening merge requests. Only the assignee of the related issue and merge request can push commits on the branch. Once all the changes have been pushed, the "draft" specifier on the merge request is removed, and the merge request is assigned to a reviewer. He can push new changes to the branch, or request changes to the original author by re-assigning the merge request to them. When the merge request is accepted, the branch is merged onto master, deleted, and the associated issue is closed.

Pylint and unittest

We enforce PEP 8 (Style Guide for Python Code) with Pylint syntax checking, and correction of the code using the unittest testing framework. Both are implemented in the continuous integration system.

You can run them locally

pylint **/*.py
python -m unittest -v

Contact