Store CORSIKA data as HDF5¶
Store CORSIKA simulation data in HDF5 file
This module reads the CORSIKA binary ground particles file and stores each particle individually in a HDF5 file, using PyTables. This file can then be used as input for the detector simulation.
The syntax and options for calling this script can be seen with:
$ store_corsika_data --help
For example to convert a CORSIKA file in the current directory called DAT000000 to a HDF5 called corsika.h5 with a progress bar run:
$ store_corsika_data --progress DAT000000 corsika.h5
- sapphire.corsika.store_corsika_data.save_particle(row, particle)¶
Write the information of a particle into a row
- sapphire.corsika.store_corsika_data.save_thinned_particle(row, p)¶
Write the information of a thinned particle into a row
- sapphire.corsika.store_corsika_data.store_and_sort_corsika_data(source, destination, overwrite=False, progress=False, thin=False)¶
First convert the data to HDF5 and create a sorted version
- sapphire.corsika.store_corsika_data.store_corsika_data(source, destination, table_name='groundparticles', progress=False, thin=False)¶
Store particles from a CORSIKA simulation in a HDF5 file
- Parameters:
source – CorsikaFile instance of the source DAT file.
destination – PyTables file instance of the destination file.
table_name – table name in which particles are stored.
progress – if True show progressbar when saving particles.
thin – if True assume the data contains thinned particles.
- sapphire.corsika.store_corsika_data.create_index(hdf_data, table_name='groundparticles', progress=False)¶
Create a completely sorted index for the x column
This can speed up queries to select data based on the x column.
- sapphire.corsika.store_corsika_data.copy_and_sort_node(hdf_temp, hdf_data, table_name='groundparticles', progress=False)¶
Sort the data in the tables by the x column
This speeds up queries to select data based on the x column.
- sapphire.corsika.store_corsika_data.create_tempfile_path(temp_dir=None)¶
Create a temporary file, close it, and return the path
- sapphire.corsika.store_corsika_data.main()¶