Skip to content

Conversation

@GernotMaier
Copy link
Contributor

@GernotMaier GernotMaier commented Jan 19, 2026

Important change for users and developers!!

CORSIKA interactions tables are not part of the CORSIKA7 container anymore and also not added to the simtools-dev container.

  • CORSIKA tables are now available from https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/corsika7-interaction-tables (not that the complete set of tables is in a development branch right now called initial-setup - so you need to clone that). This includes QGSJet-II, QGSJet-III, EPOS, EGS4, etc tables.
  • clone that repository into a separate directory from simtools (recommend the example such that it is reachable from inside the simtools-dev container by /workdir/external/simpipe/simulation_software/corsika7-interaction-tables/interaction-tables/
  • Add a new env variable called SIMTOOLS_CORSIKA_INTERACTION_TABLE_PATH pointing to that path (see example in .env_table

Do exactly the same for production. We do not expect that the interaction tables change very often.

There are a couple of changes to the images:

  • the corsika7 images now provides only the executables (no tables or other files); for some reason CORSIKA requires NUCNUCCS to be in the run directory.
  • integration tests include now a common stage to clone the interaction-tables (excluding the large qgs tables)
  • default interaction model for testing changed to EPOS!. This simplifies significantly the setup (as we don't need the large qgs tables)

Please ignore the failing 'Docs' stages - this is due to an update in sphinx and is fixed in #1988.

Open points

@GernotMaier GernotMaier self-assigned this Jan 19, 2026
@GernotMaier GernotMaier marked this pull request as ready for review January 20, 2026 06:30
@GernotMaier GernotMaier requested review from Copilot and tobiaskleiner and removed request for tobiaskleiner January 20, 2026 06:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a significant architectural change to how CORSIKA interaction tables are managed, moving them from being bundled in container images to being stored in a separate external repository.

Changes:

  • CORSIKA interaction tables are now fetched from an external GitLab repository instead of being bundled in containers
  • Added new environment variable SIMTOOLS_CORSIKA_INTERACTION_TABLE_PATH to configure the location of interaction tables
  • Changed default high-energy interaction model from qgs3 to epos to avoid downloading gigabyte-sized QGSJet tables

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/simtools/settings.py Added corsika_interaction_table_path property with fallback to corsika_path for backward compatibility
src/simtools/corsika/corsika_config.py Updated to use new interaction table path and modified EPOS flags configuration to support new table structure
tests/unit_tests/corsika/test_corsika_config.py Updated tests to reflect new EPOS configuration and flexible parameter counts
docker/Dockerfile-simtools-dev Removed QGSJet table download and installation, updated documentation
docker/Dockerfile-corsika7 Modified to only copy NUCNUCCS table file instead of all interaction tables
.github/workflows/build-simtools-dev.yml Removed QGSJet download job and dependency
.github/workflows/CI-integrationtests.yml Added job to clone interaction tables repository and download artifact for integration tests
.env_template Changed default interaction model to epos and added SIMTOOLS_CORSIKA_INTERACTION_TABLE_PATH variable
docs/changes/1987.feature.md Documented the change in default interaction model
docs/changes/1987.api.md Documented the API change and new setup requirements for users

Copy link
Collaborator

@tobiaskleiner tobiaskleiner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @GernotMaier, approving now.

Minor changes to fix issues with new sphinx
@ctao-sonarqube
Copy link

@GernotMaier
Copy link
Contributor Author

Thanks @tobiaskleiner !

@GernotMaier GernotMaier merged commit 884c4f2 into main Jan 21, 2026
26 checks passed
@GernotMaier GernotMaier deleted the corsika-interaction-path branch January 21, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants