Template Synthesis for Radio Emission from Air Showers

Welcome to the documentation of the template synthesis for radio emission from air showers package. This package implements the template synthesis algorithm, which is described in short here. For more information, please refer to the following publications:

  • “The template synthesis method for radio emission from air showers”, forthcoming

  • “Proof of principle for template synthesis approach for the radio emission from vertical extensive air showers” in Astroparticle Physics .

  • Proceedings of ARENA22

  • Proceedings of ICRC23

  • Proceedings of ARENA24

There are two different implementations of the template synthesis algorithm available in this package. The first, and standard, implementation is based on NumPy . This one contains several classes that make it easier to follow the steps taken during the synthesis process, which can be useful to debug or understand certain features. A second implementation based on JAX is also available. This high-performance library is optimized for array computing, which speeds up the synthesis process. It also allows for automatic differentiation, which allows users to slot this package into machine learning applications or use it in a information field theory context. As this version of the template synthesis package is optimized for performance, its code is more opaque. We therefore recommend new users to first get acquainted with the NumPy version, before using the JAX implementation.

In order to work with template synthesis, you will need so-called sliced showers as inputs. These are showers simulated with CoREAS which are configured to split the radio emission in each antenna into atmospheric depth bins. Included in this package are functions to easily generate the necessary input files for these simulations. These are in the corsika module. It is also possible to generate standard CoREAS simulation input files with functions in that module.