Skip to main content

Template synthesis framework for cosmic-ray air showers

Reason this release was yanked:

Broken dependencies

Project description

Welcome to the SMIET software!

The SMIET (Synthesis Modelling In-air Emission using Templates) - pronounced "s-meet" - implements the template synthesis algorithm. This framework is used to synthesise the radio emission from cosmic ray air showers using semi-analytical relations extracted from a set of Monte-Carlo showers. It is described in more detail in this publication.

This repository implements the operations necessary to perform the synthesis. We have two versions, one in plain Numpy and another one wrapped in JAX with higher performance. The latter is mostly meant to be used in the context of Information Field Theory.

Citing

If you use this software in a publication, please cite this Zenodo entry.

References

Documentation

The online documentation can be found here.

Installation

The package is written in Python, so in order to use it it is recommended to have virtual environment with the necessary packages. These are specified in the pyproject.toml file, such that the package can be installed using pip as

pip install .

To install the JAX version, you can use the optional jax keyword,

pip install .[jax]

There is also the optional tests keyword, which will install matplotlib.

Dependencies

The lowest Python version with which we tested the package is Python 3.8. It might also work with Python 3.7, there are no big show stoppers in terms of packages.

These are the packages on which the Numpy version relies:

  • radiotools
  • Numpy
  • Scipy
  • h5py
  • typing-extensions

For the JAX version, the following packages will also be installed:

  • jax
  • jaxlib

Usage

After installing the library, you can start by running the scripts in the demo folder to get acquainted with the template synthesis syntax. You can also refer to the documentation.

Support and development

In case of issues, please open an issue in this repository. You are also welcome to open merge requests in order to introduce changes. Any contributions are greatly appreciated!

For other inquiries, please contact mitja.desmet@vub.be or keito.watanabe@kit.edu.

Roadmap

Currently the code contains all the classes necessary to load in sliced shower simulations and perform the template synthesis operations. These include normalisation of the amplitude spectra with respect to the geometry, as well as the arrival time shifts applied to the phase spectra. The next steps are now to:

  1. Add rigorous unit tests
  2. Improve the way in which showers and template information is stored
  3. Add extensive documentation
  4. Achieve parity between the Numpy and JAX versions

Authors and acknowledgment

We appreciate all who have contributed to the project.

  • Mitja Desmet, for the development of the template synthesis algorithm and the Numpy implementation
  • Keito Watanabe, for implementing the JAX version
  • Ruben Bekaert, for suggesting changes to the Numpy interface

License

This repository is licensed under the GPLv3.

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

smiet-0.4.0.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smiet-0.4.0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

Details for the file smiet-0.4.0.tar.gz.

File metadata

  • Download URL: smiet-0.4.0.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for smiet-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b4b14a2f4881c7eb82acc3916719620616c78335a23c413ee093db2fc50f96b1
MD5 31e5ed924ffcd85805f55829c983af71
BLAKE2b-256 105d3bfcf27b24b3c544a48b18023ceef5034c69b9b4e0e351bec3c416998841

See more details on using hashes here.

File details

Details for the file smiet-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: smiet-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 75.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for smiet-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 090f4ba07f4dffd2e4a4e56bf653de79199893f1712eb22f6d865aff00f23d10
MD5 6fa0cfa2c221eb4ba5e6b115537ed4da
BLAKE2b-256 bc9062af9fd707d52acf23e6b0031d3031f8104f410d37e2adf94eb208b38195

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page