The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard, more commonly referred to as C99.
LALSuite is comprised of the following components:
- LAL: Core gravitational wave analysis routines
- LALFrame: LAL wrapping of the LIGO/Virgo Frame library
- LALMetaIO: LAL wrapping of the MetaIO LIGO_LW XML library
- LALSimulation: LAL routines for gravitational waveform and noise generation
- LALBurst: LAL routines for burst gravitational wave data analysis
- LALInspiral: LAL routines for inspiral and ringdown CBC gravitational wave data analysis
- LALPulsar: LAL routines for pulsar and continuous wave gravitational wave data analysis
- LALInference: LAL routines for Bayesian inference data analysis
- LALApps: Collection of gravitational wave data analysis codes and pipelines utilising the LAL libraries
The components of LALSuite can be obtained as a RPMs, Debs, tarball, or directly from the Git development repository. Developers should obtain LALSuite from Git.
Adam Mercer. Email:
adam.mercer at ligo.org
For complete instructions on building LALSuite, see LALSuiteInstall
The documentation for all LALSuite components is generated using Doxygen. The most recent LALSuite documentation from the nightly build can be found here
The LAL Specification and Style Guide
document (commonly known as the LAL Spec
) contains the software specifications that code written for LALSuite should conform to. The most recent version of the LAL Spec
can be found here
LALSuite-6.62 was released on 5 August 2019, and is comprised of:
Previous releases can be found in the following directory
The latest version approved by the SCCB is LALSuite-6.59.
The LALSuite sources are located in the LALSuite Git repository. See the following instructions
on how to get started. You may also browse
the LALSuite Git repository using the GitLab
The LALSuite bug reporting system can be found here
. You will need a LIGO.ORG username and password. Some useful tips and tricks can be found here
Before you file a ticket, please read and search through the list of current
issues to determine if your bug has already been reported. If it has not, please report the issue under the relevant subproject (e.g. CBC
), giving as much detail as possible.
If an issue already exists and has not been fixed, add any additional information to the existing report. If your bug exists and has been fixed, upgrade to the version detailed in the issue to confirm if it has been fixed correctly. If it was not, please reopen the issue.
LALSuite is built nightly on a variety of platforms and using a variety of different compilers. Further information can be found here
There are several mailing lists related to LALSuite development:
Developers should subscribe to the LAL Discuss
mailing lists as important development information is regularly posted and discussed on these lists.
The required software dependencies depend on which packages you wish to install, the core dependencies are:
- GSL - The GNU Scientific Library.
- FFTW - The Fastest Fourier Transform in the West.
Other dependencies that are needed for some of the sub packages are:
- !FrameL- LIGO/Virgo Frame library (needed for LALFrame)
- !MetaIO - LIGO_LW XML library (needed for LALMetaIO, LALBurst, LALInspiral, and LALStochastic)
- libxml2 - XML parsing library (needed for LALXML)
Instructions for building these software packages from source code can be found here
. There also may be prebuilt binaries available for your platform, for more details please see the LSCSoft Repository pages here
This is out of date and will be updated shortly.
Finish conversion of LALDoc documentation to doxygen
Transition to C99 complex type
- Update of autotools build system to require specific versions, remove hacks that worked round bugs in earlier versions
- correct incremental rebuilds (i.e. edit a single file and rebuild correctly without "make clean")
- Enable SWIG bindings by default
SWIG bindings for all libraries
- Transition to libxml2 for XML parsing
Use FrameCPP for Frame I/O
Investigate non-recursive make