Skip to content

cherenkov-plenoscope/starter_kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,538 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cherenkov Plenoscope

CcByLicenseBadge

Welcome to the Cherenkov plenoscope. This 'starter_kit' is where the Cherenkov plenoscope and its astronomical performance are simulated and estimated.

The cherenkov-plenoscope project consists of many rather independent packages and programs. In this 'starter_kit' all the bits come together. Some packages are truely standalone, others only make sense inside of this starter_kit.

Installation

Recommendations

We develop on:

  • GNU-Linux Debian 12
  • gnu compiler collection 12.2.0
  • python 3.11.5

Requirements

  • GNU Compiler Collection (build-essentials)
  • Fortran77 compiler from the GNU compiler collection
  • git

Install

First the starter_kit needs to be cloned recursively with all its submodules.

git clone --recursive git@github.com:cherenkov-plenoscope/starter_kit.git

For development, the python packages are all installed --editable right in place. Also some some executables need to build from sources such as CORSIKA and merlict. To do this, there is the install.py script. When you got access to the CORSIKA sources, it is easiest when you download the sources for CORSIKA and provide them directly.

python ./install.py install --corsika_tar path/to/my/corsika-75600.tar.gz

Uninstall

The install.py can also uninstall all packages and remove the builds.

python ./install.py uninstall

Configfiles

The cherenkov plenoscope simulation uses configfiles in the user's home.

  • .corsika_primary.json is used by packages/corsika_primary to link the CORSIKA executables.
  • .merlict_develompment_kit_python.json is used by packages/merlict_develompment_kit_python to link the merlict_develompment_kit executables.
  • .plenoirf.json is used by packages/plenoirf to link the executable for the ground_grid.
  • .plenoirf.production-run-id-range.json is used by packages/plenoirf to define ranges for run_ids (which serve as random seeds) for the production of the instrument response function.

Updating

git pull
git submodule update

Development

List the version strings of local and remote packages on PyPi.

python ./install.py pypi

Deploying packages to the Python Package Index (PyPi)

To update package <xyz> we remove old distribution builds, update the tools build and twine and then build and upload. For packages compiling C code (cython) one has to build and upload an ?``sdist``?.

cd ./packages/<xyz>
rm -r ./dist
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install --upgrade twine
python3 -m twine upload --repository pypi dist/*

About

All you need to get started from scratch.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages