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.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

cr_pulse_interpolator-1.1.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cr_pulse_interpolator-1.1.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for cr_pulse_interpolator-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f6653ba159a89655294eb4621c7b5624966d28ecc832b5d5cc2c7c8cfcf933c0
MD5 41218b565f72b7b061e314e9a01b5484
BLAKE2b-256 733ad8aa299cf1c1288e88ba835f1a22e99406c865bb9b02da109105a2c27d4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cr_pulse_interpolator-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26f4e7f42fdd60e33d172ede52ebf69b7ad6bbcca984351d46e003b31faf867a
MD5 e2178eda5a2bdfaf263b7f1b6308ec9a
BLAKE2b-256 d4b3893d901af8bd79ccf81fbae7f87370a7d98452b781e76a3fc27d0a026ef2

See more details on using hashes here.

Supported by

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