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.2.tar.gz (16.2 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: corsika_panama-1.0.2.tar.gz
  • Upload date:
  • Size: 16.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.20.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for corsika_panama-1.0.2.tar.gz
Algorithm Hash digest
SHA256 da7d6ab1ce33af46246cd0ffc48d46922872b3bdec0a93c26f4801f4f88d39da
MD5 684fb378e7f895005a13aacdeb4811a8
BLAKE2b-256 c47e91b36481d320757842a660872ba2ba28567e0b39a042388ed87eec22f10d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: corsika_panama-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.20.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for corsika_panama-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 968d4a0dffdedf984ae982c96b3c8d59f32d2d4e887dc7051b830d54427f8ff2
MD5 9187f4b4ceb803d5eca140de1ef617ba
BLAKE2b-256 3a31b8395bffd2b82b434b9abba1a8758abc230b84c39eda4903cc1e0e6892f8

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