Skip to main content

Tools used for radio emission of air showers in the JAX framework

Project description

jax_radio_tools : A JAXified version of radiotools (in progress!)

Utility functions for radio emission of cosmic rays in the JAX framework. Based on radiotools.

Installation

The tool can easily be installed via pip:

pip install -U jax_radio_tools

which will also install the necessary packages for installation.

Dependencies

  • jax
  • jaxlib
  • numpy >=1.20
  • typing_extensions
  • python>=3.11 (May be possible with older python versions, but not yet tested)

Current implementations

Currently, the following tools are implemented:

Trace Utilities

These can be accessed via jax_radio_tools.trace_utils.

  • zero padding
  • bandpass filter
  • hilbert envelope
  • resampler
  • trace centering
  • relative trace centering
  • signal window truncation

Shower Utilities

These can be accessed via jax_radio_tools.shower_utils.

  • calculating arrival times
  • calculating gaisser hillas functions (coreas formalism, LR formalism)
    • change: updated the functions to make it more numerically stable
  • calculating fluences
  • calculating cross correlations

Atmosphere model

Following radiotools, an importable module to define the atmosphere.

These can be accessed via jax_radio_tools.atmosphere.Atmosphere.

Current features implemented are:

  • calculation of distance from grammages
  • calculation of cherenkov angle
  • calculation of vertical heights
  • calculation of density
  • calculation of refractive index
  • all atmospheric models from radiotools are supported
  • additionally, GDAS atmospheric files are also now supported

Coordinate system

Following radiotools, we define a cstrafo object that takes care of coordinate systems. This is defined by a zenith angle, azimuthal angle, and magnetic field vector.

These can be accessed via jax_radio_tools.cstrafo.

Further calculations that are in the coordinate_transformations:

  • transformation from GEO/CE <-> vxB / vxvxB axis in the shower plane
  • function to get the normalised angle (for accurate angles when porting from e.g. CoREAS)

More implementations to come!

TODOS

  • include documentation
  • include CI/CD pipeline
  • implement other useful radiotools functions
  • make the cstrafo object jax-compatible with zenith & azimuth angles

LICENSE

This code is under the BSD-3 License. See LICENSE for more details.

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

jax_radio_tools-0.1.2.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

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

jax_radio_tools-0.1.2-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file jax_radio_tools-0.1.2.tar.gz.

File metadata

  • Download URL: jax_radio_tools-0.1.2.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for jax_radio_tools-0.1.2.tar.gz
Algorithm Hash digest
SHA256 36ee7f3dda6a3c900127671f73eb6d6cb0c3faf4fa8b3c71bde5c6303e38eef1
MD5 13e318fcfbfd4aa2b1a3cc1d40d0095b
BLAKE2b-256 4d17af7f8df78b6b255fa5d21e3e646fe30c0fc28c604f178a231003bf2cfe6b

See more details on using hashes here.

File details

Details for the file jax_radio_tools-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for jax_radio_tools-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 28a2ca99069b5a97d81a8330ac43a6c16ee033497e9b9c8373cf5b94b65586fa
MD5 04966697f313a498b1390357a6bac63e
BLAKE2b-256 5ecf7437ab574444357b516ed20e1378ee491696706e66e16eec4fd472104840

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