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.3.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.3-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jax_radio_tools-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 7943c844ddc5d0cf9368a66546334018184fb364120e1056b5d60e8491be4e49
MD5 2243acea371644432e5b13214cb346f4
BLAKE2b-256 aaa71f7f46d57061fdf30c0eb5018d316c6c2b1fc6d425214564474386096b27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jax_radio_tools-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 af1406aea43752dbe93e7a4c8ead8c61c7e0311503a0896d95910bfd94a5ce61
MD5 626a4c19ccf0d1e4cc386619566da227
BLAKE2b-256 fc71e90c6ed28767d6839fef7b28ee4edf9efb737246ba4f5fdded905b2149cc

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