Skip to main content

Full waveform interpolation for air shower simulations

Project description

cr-pulse-interpolator

Full electric-field waveform interpolation for air shower simulations

For elaborate information on the methods and their performance, see
Corstanje et al. (2023), JINST 18 P09005, arXiv 2306.13514
Please cite this when using code and/or method in your analysis, publication etc.

Contents

The package contains two interpolation submodules:

  • interpolation_fourier: interpolates a 2D scalar function f(x, y) defined on a radial (polar) grid. This includes for instance air shower radio energy fluence or amplitude along a radio footprint in the shower plane.
  • signal_interpolation_fourier: interpolates full time traces (waveforms) of electric-field signals simulated by air shower simulation codes such as CoREAS, in antennas placed on a radial grid.

Installation and Dependencies

This package can be installed with the following command:

  pip install git+https://github.com/nu-radio/cr-pulse-interpolator

To automatically install the requirements for the demo scripts, one can instead use

  pip install "cr_pulse_interpolator[demo] @ git+https://github.com/nu-radio/cr-pulse-interpolator"  

Usage

The interpolation modules have an interface very similar to e.g. Scipy's interp1d class.
Runnable demo scripts are:

  • demo_interpolation_fourier.py: a demo of the interpolation_fourier method, plotting a radio energy footprint heatmap.
  • demo_signal_interpolation.py: demonstrates full signal interpolation, doing cross-correlations with true simulated signals on "random" test positions.
  • minimal_usage_demo.py: a smaller demo of full signal interpolation, aimed at getting the user started quickly.

The full signal interpolation demos require example data files to be downloaded:
run download_demo_data.sh before using the demo scripts.
The h5py package is required to read the demo data.

The example data files contain E-field traces from a CoREAS shower, converted to two "on-sky" polarizations. They can be given as input in any order when creating the interpolator object. This is the recommended usage in the interpolator.
NB. in the full pulse interpolator, the two polarizations should not be aligned to vxB and vx(vxB), as the near-zero amplitudes along circles in the footprint lead to poor accuracy. In the interpolation for amplitude or fluence only, this is not an issue. It is recommended to rotate the polarizations by 45 degrees when this happens (e.g. zenith showers, or close to north-south axis in general), and rotate back after interpolating.

Another recommendation is to test the accuracy of interpolation by simulating some 10 or 20 additional antennas placed at strategic positions 'in between' the radial-grid positions.

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

cr_pulse_interpolator-1.1.1.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

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

cr_pulse_interpolator-1.1.1-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file cr_pulse_interpolator-1.1.1.tar.gz.

File metadata

  • Download URL: cr_pulse_interpolator-1.1.1.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cr_pulse_interpolator-1.1.1.tar.gz
Algorithm Hash digest
SHA256 e23c9fdc927fe85a3f7c41ff86b917d816a9ff06cfa773abe3080e5e6cf0f7c7
MD5 7e5b18574979181f597ff5027fab31cd
BLAKE2b-256 f80775e1d92d745cbe35f1cebcc5ddae5dcd7689987dc9756faa4a8b3d0d59e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cr_pulse_interpolator-1.1.1.tar.gz:

Publisher: python-publish.yml on nu-radio/cr-pulse-interpolator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cr_pulse_interpolator-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cr_pulse_interpolator-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d090f1fb69dfb8f3be6100c432fb25f69bd25ba3228c14ea2e76b905032f7375
MD5 fb4d07886dc97d62626323f8ebda4ba5
BLAKE2b-256 9a42de2f4c453a54b5585944d6aab3beca4ed11e666941ed4fad6ba30a44252a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cr_pulse_interpolator-1.1.1-py3-none-any.whl:

Publisher: python-publish.yml on nu-radio/cr-pulse-interpolator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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