Gaussian Random-fields Approximation for Magnetic-fields with Python Algorithms (GRAMPA)
Project description
Gaussian Random-fields Approximation for Magnetic-fields with Python Algorithms (GRAMPA)
Overview
GRAMPA is a Python-based tool for modeling magnetic fields as Gaussian random fields following a specified power spectrum and electron density profile, as described in Murgia et al. (2004) and originally proposed by Tribble (1991). This framework is designed primarily for analyzing Faraday rotation experiments in galaxy clusters but can be applied more generally to other magnetized plasmas, depending on the chosen parameters.
Getting Started
To begin using GRAMPA, refer to the Jupyter notebook examples/example_cluster_Bfield.ipynb, which provides an example workflow to help users understand the implementation and features of the code.
Citation
If you use this code in your research, please cite the following works:
- Osinga et al. 2022: A&A, 665, A71
- Osinga et al. 2025: A&A, 694, A44
If your work involves lognormal density fluctuations, please also cite:
- Khadir et al. 2025 (in prep.)
- PyFC: PyFC on PiWheels
License
This software is provided under an open-source license. Please check the GitHub repository for details.
Contact
For questions or feedback, please reach out to the authors or open an issue on the Github repository
Developing
Pull requests are welcome for users that want to add features!
GRAMPA uses a set of developer tools that can be installed with
git clone git@github.com:ErikOsinga/grampa.git
cd grampa
pip install '.[dev]'
These tools can run upon git commit by using
pre-commit install
Versioning
GRAMPA will follow the Conventional Commit Message format: for versioning
- For a feature (MINOR VERSION UPDATE): (e.g. git commit -m "feat(optional scope): description")
- For a bugfix (PATCH VERSION UPDATE): (e.g. git commit -m "fix(optional scope): description")
- For a breaking change (!) (MAJOR VERSION UPDATE): (e.g. git commit -m "featorfix!(optional scope): description")
Project details
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 grampa-0.0.6.tar.gz.
File metadata
- Download URL: grampa-0.0.6.tar.gz
- Upload date:
- Size: 3.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46cc4998a36ee30cf65c4988d678c81521bba11c073ef69725cf29351966e85b
|
|
| MD5 |
4c9c5946d587b645c8b7483622609c45
|
|
| BLAKE2b-256 |
e46c8bf078e2b0e1f4e7b5f7135c4b4faf4ba02db6cbb0cd75a1bb2c3e18b764
|
File details
Details for the file grampa-0.0.6-py3-none-any.whl.
File metadata
- Download URL: grampa-0.0.6-py3-none-any.whl
- Upload date:
- Size: 49.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a41b5a372e24f8d97228cbf2d429fa491b9941dd3ea72f7753511b91daff4bd9
|
|
| MD5 |
bc876423e74fe35a093c2a680541689f
|
|
| BLAKE2b-256 |
e8603fb8a761d7fd87f5614a0b763dee503296a5d4f87c5fff1b531fd1da5dce
|