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.
We develop on:
- GNU-Linux Debian 12
- gnu compiler collection 12.2.0
- python 3.11.5
- GNU Compiler Collection (build-essentials)
- Fortran77 compiler from the GNU compiler collection
- git
First the starter_kit needs to be cloned recursively with all its submodules.
git clone --recursive git@github.com:cherenkov-plenoscope/starter_kit.gitFor 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.gzThe install.py can also uninstall all packages and remove the builds.
python ./install.py uninstallThe cherenkov plenoscope simulation uses configfiles in the user's home.
.corsika_primary.jsonis used bypackages/corsika_primaryto link the CORSIKA executables..merlict_develompment_kit_python.jsonis used bypackages/merlict_develompment_kit_pythonto link themerlict_develompment_kitexecutables..plenoirf.jsonis used bypackages/plenoirfto link the executable for theground_grid..plenoirf.production-run-id-range.jsonis used bypackages/plenoirfto define ranges forrun_ids(which serve as random seeds) for the production of the instrument response function.
git pull
git submodule updateList the version strings of local and remote packages on PyPi.
python ./install.py pypiTo 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/*