A Python package for simulating gravitational wave detector data for mock data challenges.
Project description
gwsim
A Python package for generating Mock Data Challenge (MDC) datasets for the gravitational-wave (GW) community. It simulates strain data for detectors like Einstein Telescope, providing a unified interface for reproducible GW data generation.
Features
- Modular Design: Uses mixins for flexible simulator composition
- Detector Support: Built-in support for various GW detectors with custom configuration options
- Waveform Generation: Integrates with PyCBC and LALSuite for accurate signal simulation
- Noise Models: Supports colored and correlated noise generation (In-Progress)
- Population Models: Handles injection populations for signals and glitches
- Data Formats: Outputs in standard GW formats (GWF frames)
- CLI Interface: Command-line tools for easy simulation workflows
Installation
We recommend using uv to manage virtual environments for installing gwsim.
If you don't have uv installed, you can install it with pip. See the project pages for more details:
- Install via pip:
pip install --upgrade pip && pip install uv - Project pages: uv on PyPI | uv on GitHub
- Full documentation and usage guide: uv docs
Note: The package is built and tested against Python 3.10-3.12. When creating a virtual environment with uv, specify the Python version to ensure compatibility: uv venv --python 3.10 (replace 3.10 with your preferred version in the 3.10-3.12 range). This avoids potential issues with unsupported Python versions.
From PyPI
# Create a virtual environment (recommended with uv)
uv venv gwsim-env --python 3.10
source gwsim-env/bin/activate # On Windows: gwsim-env\Scripts\activate
uv pip install gwsim
From Source
git clone https://gitlab.et-gw.eu/et-projects/software/gwsim.git
ce gwsim
# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install .
Quick Start
Command Line
# Generate simulated data
gwsim simulate config.yaml
Configuration
gwsim uses YAML configuration files for reproducible simulations. See examples/config.yaml for a complete example.
Key configuration sections:
globals: Shared parameters (sampling rate, duration, etc.)simulators: List of noise, signal, and glitch generators
Documentation
Full documentation to be available at readthedocs.io.
Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
Testing
Run the test suite:
pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For questions or issues, please open an issue on GitLab or contact the maintainers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gwsim-0.2.1.tar.gz.
File metadata
- Download URL: gwsim-0.2.1.tar.gz
- Upload date:
- Size: 582.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
798f1d47bb9ef5ff149b16db0df0f5d736dd4e68ecea98eb0cb3e9befb51ef9d
|
|
| MD5 |
2274e3734df65e0103559fb3f80fcc60
|
|
| BLAKE2b-256 |
3ea692a1dc906ddf55d4c80d03620051c64d68820f393632d3a0d70b496049f0
|
File details
Details for the file gwsim-0.2.1-py3-none-any.whl.
File metadata
- Download URL: gwsim-0.2.1-py3-none-any.whl
- Upload date:
- Size: 597.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67924aaf66a72deaa11672ff22eb9d2d3dc40b567336bb77909daea274626f2f
|
|
| MD5 |
f70848feb1f0ad3619b3aaa0f65910b5
|
|
| BLAKE2b-256 |
d05863480ba3593ba2ef74dc2fe196be45d731e1a1300cb6c55b41ba50fbbd5b
|