Skip to content
Snippets Groups Projects

LISA Instrument

LISA Instrument simulates the measurement chain of LISA, including the generation of instrumental noises, the simulation of optical signals (noises and signals) and their interferometric detection, and the on board processing. It delivers telemetry data.

LISA Instrument can be interfaced with other simulation tools, such as LISA Orbits (to define constellation orbits), LISA GW Response (to inject gravitational-wave signals), LISA Glitch (to inject instrumental artifacts), etc.

Physical models

A description of the underlying physical models can be found in Unified model for the LISA measurements and instrument simulations, Jean-Baptiste Bayle and Olaf Hartwig, Phys. Rev. D 107, 083019 (2023).

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 Poetry to manage your development environment. To setup the development environment, use the following commands:

git clone git@gitlab.in2p3.fr:lisa-simulation/instrument.git
cd instrument
poetry install
poetry shell
pre-commit install

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 lisainstrument
pytest

We use Black as a formatter.

Authors

Acknowledgment

We are thankful to J. Waldmann for sharing his implementation of long power-law noise time series generators, based on Plaszczynski, S. (2005). Generating long streams of 1/f^alpha noise. J. Waldmann's pyplnoise module has been included in this project as a submodule. You can find the original project at https://github.com/janwaldmann/pyplnoise.