Skip to main content

"PANdas And Multicore utils for corsikA7" -- A python toolkit for CORSIKA7

Project description

,-.----.                           ,--.das     nd               ____ ulticore utils for corsik  7
\    /  \     ,---,              ,--.'|   ,---,               ,'  , `.                    ,---,
|   :    \   '  .' \         ,--,:  : |  '  .' \           ,-+-,.' _ |                   '  .' \
|   |  .\ : /  ;    '.    ,`--.'`|  ' : /  ;    '.      ,-+-. ;   , ||                  /  ;    '.
.   :  |: |:  :       \   |   :  :  | |:  :       \    ,--.'|'   |  ;|                 :  :       \
|   |   \ ::  |   /\   \  :   |   \ | ::  |   /\   \  |   |  ,', |  ':                 :  |   /\   \
|   : .   /|  :  ' ;.   : |   : '  '; ||  :  ' ;.   : |   | /  | |  ||                 |  :  ' ;.   :
;   | |`-' |  |  ;/  \   \'   ' ;.    ;|  |  ;/  \   \'   | :  | :  |,                 |  |  ;/  \   \
|   | ;    '  :  | \  \ ,'|   | | \   |'  :  | \  \ ,';   . |  ; |--'                  '  :  | \  \ ,'
:   ' |    |  |  '  '--'  '   : |  ; .'|  |  '  '--'  |   : |  | ,                     |  |  '  '--'
:   : :    |  :  :        |   | '`--'  |  :  :        |   : '  |/                      |  :  :
|   | :    |  | ,'        '   : |      |  | ,'        ;   | |`-'                       |  | ,'
`---'.|    `--''          ;   |.'      `--''          |   ;/                           `--''
  `---`                   '---'                       '---'

PANAMA - A python toolkit for CORSIKA7.

Read the Docs

GitHub Workflow Status GitHub issues Codecov

PyPI DOI GitHub Codestyle

Features

This python package provides multiple features -- each feature can be used independently, but they also work great together.

  • Execute CORSIKA7 on multiple cores
  • Read CORSIKA7 DAT files ("particle files") to pandas DataFrames
    • Correctly parse output from the EHIST option
  • Calculate weights for a multiple primary spectra

To see some examples on how to use panama, see the introduction in the documentation. To get an overview of how the features play together, have a look at the example notebook in the documentation. In-depth explanation is provided in the API documentation.

Installation

pip install corsika-panama

If you want to convert Corsikas DAT files to HDF5 files, you need to install the optional hdf dependency

pip install corsika-panama[hdf]

CORSIKA7

For usage and installation of CORSIKA7, please refer to its website and its userguide. To properly use this package, knowledge of CORSIKA7 is required.

If you want to install CORSIKA7, you need to request access to their CORSIKA7 mailing list, as described on their website, then you will receive the CORSIKA7 password. If you want to skip the process of getting familiar with the software and compiling it with coconut, panama provides a (linux) script for compiling it. You will need a fortran compiler. CORSIKA7 will then be pre-configured with the curved earth, EHIST, SIBYLL2.3d and URQDM options. For finer control over the used options, please compile CORSIKA7 yourself. After cloning this repository, you can then execute

CORSIKA_VERSION=77500 CORSIKA_PW=CORSIKA_PASSWORD_YOU_WILL_RECEIVE_BY_MAIL admin/download_corsika.sh

which will download and compile CORSIKA7 version 77500. If you are interested in automatically testing software using CORSIKA7, using GitHub actions, have a look at the .github folder of this project in combination with the admin script.

Contributing

Contributions and suggestions are very welcome. Feel free to open an issue or pull request. This project uses pdm for the build system as well as a dependency and virtual environment manager. For suggestions on how to set up a development environment, have a look at CONTRIBUTING.md.

Further Notes

This project tries to stay compatible with the suggestions from Scikit hep.

Naming idea goes back to @Jean1995, thanks for that! He originally proposed "PArallel ruN of corsikA on MAny cores", as the scope of this library grew bigger, it evolved into the current name.

This started as part of the code I wrote for my master thesis. I ended in the same place where most CORSIKA7 users end when running large CORSIKA7 simulations and wrote small scripts to split one simulation request into multiple CORSIKA7 processes with different seeds. The FACT software (fact-project/corsika_wrapper) and the IceCube software does essentially the same thing (and I am sure, MAGIC, CTA and other air-shower based observatories do the same). I hope this package provides a more experiment-independent and better documented version of internal software packages.

Related Repositories

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

corsika_panama-1.0.4.tar.gz (16.2 MB view details)

Uploaded Source

Built Distribution

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

corsika_panama-1.0.4-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file corsika_panama-1.0.4.tar.gz.

File metadata

  • Download URL: corsika_panama-1.0.4.tar.gz
  • Upload date:
  • Size: 16.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.11.11 Linux/6.8.0-1020-azure

File hashes

Hashes for corsika_panama-1.0.4.tar.gz
Algorithm Hash digest
SHA256 198986128db3afd1ca9f510f18fa31c8f6d6cc6852a69888613835548c35e21a
MD5 d7e35f2c7f7658aa86784a17e42c4ce9
BLAKE2b-256 089c82bd62a330d85fca4e4dcd54ae64f5d7b2f37a349e3ae1814875c80e1a38

See more details on using hashes here.

File details

Details for the file corsika_panama-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: corsika_panama-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.11.11 Linux/6.8.0-1020-azure

File hashes

Hashes for corsika_panama-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 321fec8e33355af7be4d6ecd772af0d3b21f8c294d6d951240a0e72666ca87e9
MD5 f7d6e711b3d80429cc91c43f044b7f5b
BLAKE2b-256 551cfb46d55ac700b3f6c1d49474e0117b4860700eea46b9f9a8d85d21193857

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