Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/changes/1953.doc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Improve documentation on available container images. Add new page to users guide with most important available images.
50 changes: 50 additions & 0 deletions docs/source/user-guide/container_images.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Container Images

OCI-compatible container images are available for simtools users and support both application and development use cases. Any runtime such as [Docker](https://www.docker.com/products/docker-desktop), [Podman](https://podman.io/), or [Apptainer](https://apptainer.org/) can be used.

## Pre-built Images

Below an overview of the most-relevant pre-built container images available from the [simtools package registry](https://github.com/orgs/gammasim/packages?repo_name=simtools).

### Simtools Production Images

[Dockerfile-simtools-prod](https://github.com/gammasim/simtools/blob/main/docker/Dockerfile-simtools-prod)

| Image tag | simtools version | CORSIKA image tag | sim_telarray image tag |
| --- | --- | --- | --- |
| latest | 0.26.0 | 20251216-095556 | 20251210-112343 |

#### Legacy Simtools Production Images

[Dockerfile-simtools-legacy](https://github.com/gammasim/simtools/blob/main/docker/Dockerfile-simtools-legacy)

### Simtools Development Images

[Dockerfile-simtools-dev](https://github.com/gammasim/simtools/blob/main/docker/Dockerfile-simtools-dev)

package | simtools version | CORSIKA (patch) version | high-/low-energy interaction model | sim_telarray (IACT) version | remarks |
| --- | --- | --- | --- | --- | --- |
| [20251216-102359](ghcr.io/gammasim/simtools-dev:20251216-102359) | 0.26.0 | 7.8010 (v1.1.0) | QGSJet-III/URQMD | 2025.246.0 (1.70) | CORSIKA/sim_telarray from gitlab (sim_telarray from master branch) |
| [0.25.0](ghcr.io/gammasim/simtools-dev:0.25.0) | 0.25.0 | 7.8010 (v1.1.0) | QGSJet-III/URQMD | 2025.246.0 (1.70) | CORSIKA/sim_telarray installation from tar packages |

### CORSIKA7 Images

[Dockerfile-corsika7](https://github.com/gammasim/simtools/blob/main/docker/Dockerfile-corsika7)

- [ ] TODO: release compile configurations and update link
- [ ] TODO: change tag to released version

| Image tag | CORSIKA version | high-/low-energy interaction model | Compile Configuration | Patch version (CPU optimizations) | Packages |
| --- | --- | --- | --- | --- | --- |
20251216-095556 | 7.8010 | QGSJet-III/URQMD | [v0.1.0](https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/corsika7-config) | [v1.1.0](https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/corsika-opt-patches/-/releases/v1.1.0) | [no optimization](https://github.com/gammasim/simtools/pkgs/container/corsika7-78010-no_opt), [AVX2](https://github.com/gammasim/simtools/pkgs/container/corsika7-78010-avx2), [AVX512](https://github.com/gammasim/simtools/pkgs/container/corsika7-78010-avx512f), [sse4](https://github.com/gammasim/simtools/pkgs/container/corsika7-78010-sse4)|

### sim_telarray Images

[Dockerfile-sim_telarray](https://github.com/gammasim/simtools/blob/main/docker/Dockerfile-simtel_array)

- [ ] TODO: assign version numbers to sim_telarray packages and release
- [ ] TODO: change tag to released version

Image tag | sim_telarray version | hessio version | stdtools version | Packages |
| --- | --- | --- | --- | --- |
20251210-112343 | [master](https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/sim_telarray) | [master](https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/hessio) | [master](https://gitlab.cta-observatory.org/cta-computing/dpps/simpipe/simulation_software/stdtools) | [prod6-baseline](https://github.com/gammasim/simtools/pkgs/container/simtel-251124-prod6-baseline)
25 changes: 14 additions & 11 deletions docs/source/user-guide/getting_started.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Getting Started

Using simtools requires installing and accessing its [main components](../components/index.md):
the [simtools package](#installation), the simulation software [CORSIKA and sim_telarray](#installation-of-corsika-and-sim_telarray), and the [simulation model database](model-database-access).
the [simtools package](#installation), the simulation software [CORSIKA and sim_telarray](#installation-of-corsika-and-sim_telarray), and the [simulation model database](model-database-access).

For development-related information, see [Getting Started as a Developer](../developer-guide/getting_started_as_developer.md).

Expand All @@ -10,23 +10,26 @@ For development-related information, see [Getting Started as a Developer](../dev
simtools can be installed using one of the following methods:

- Using a [container image](container-images) with all software pre-installed (**recommended**)
- Via [pip](pip-installation) or [conda](conda-installation). Requires manual compilation and installation of **CORSIKA** and **sim_telarray**. See the [section below](#installation-of-corsika-and-sim_telarray) for details.
- Via [pip](pip-installation) or [conda](conda-installation). Requires manual compilation and installation of **CORSIKA** and **sim_telarray**. See the [section below](#installation-of-corsika-and-sim_telarray) for details. Note that the conda package might not always contain the latest simtools version.

## Container Images

OCI-compatible container images are available for simtools users and support both application and development use cases. Any runtime such as [Docker](https://www.docker.com/products/docker-desktop), [Podman](https://podman.io/), or [Apptainer](https://apptainer.org/) can be used.
These images eliminate all manual installation steps and allow direct execution of simtools applications.

The most important types of images are:

### Pre-built Images

- **Production images** (`simtools`): Include CORSIKA, sim_telarray, and simtools applications. Variants are available with:
- **Simtools Production images** ([simtools-prod](https://github.com/gammasim/simtools/pkgs/container/simtools-sim-telarray-250903-corsika-78010-bernlohr-1.70-prod6-baseline-qgs3-no_opt)): Include CORSIKA, sim_telarray, and simtools applications. Variants are available with:
- Different CORSIKA/sim_telarray versions
- Compile options (e.g., `prod5`, `prod6`)
- CPU optimizations (e.g., `avx2`, `avx512`, `no_opt`)
- **Development images** (`simtools-dev`): Include all dependencies for simtools development, as well as CORSIKA and sim_telarray, but do not contain simtools itself.
- **Simtools Development images** ([simtools-dev](https://github.com/gammasim/simtools/pkgs/container/simtools-dev)): Include all dependencies for simtools development, as well as CORSIKA and sim_telarray, but do not contain simtools itself.

Pre-built images are hosted on the [simtools package registry](https://github.com/orgs/gammasim/packages?repo_name=simtools). Authentication may be required; follow [GitHub's guide](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry) to configure access (`docker login`).


### Running a simtools Production Image

**Prerequisite**: Configure [simulation model database access](model-database-access).
Expand Down Expand Up @@ -58,9 +61,9 @@ podman run --rm -it \

### Pip Installation

simtools is available as a Python package from [PypPi](https://pypi.org/project/gammasimtools/).
simtools is available as a Python package from [PyPI](https://pypi.org/project/gammasimtools/).

To install, prepare a python environment, e.g.:
To install, prepare a Python environment, e.g.:

```console
mamba create --name simtools-prod python=3.12
Expand All @@ -86,14 +89,14 @@ conda activate gammasimtools
## Installation of CORSIKA and sim_telarray

CORSIKA and sim_telarray are external tools to simtools and are required dependencies for many applications.
The installation requires some preparation, this is why it is recommended to use the Docker environment
The installation requires some preparation; therefore, it is recommended to use the Docker environment.

For a non-Docker setup, follow the instruction provided by the CORSIKA/sim_telarray authors for installation.
For a non-Docker setup, follow the instructions provided by the CORSIKA/sim_telarray authors for installation.
CTAO users can download both packages from the [sim_telarray web page](https://www.mpi-hd.mpg.de/hfm/CTA/MC/Software/Testing/)
(CTAO password applies) and install the package with:

```console
tar -czf corsika7.7_simtelarray.tar.gz
tar -xzf corsika7.7_simtelarray.tar.gz
./build_all prod6-sc qgs2 gsl
```

Expand All @@ -102,7 +105,7 @@ The environmental variable `$SIMTOOLS_SIMTEL_PATH` should point towards the CORS

## Model Database Access

Simulation model parameters are stored in database.
Simulation model parameters are stored in the database.
Many simtools applications depend on access to this database.

:::{note}
Expand Down Expand Up @@ -139,5 +142,5 @@ SIMTOOLS_USER_ORCID='0000-1234-5678-0000'
```

```{note}
Any simtools application command line argument can be set as an environment variable, see the [application configuration](applications.md#configuration) section.
Any simtools application command-line argument can be set as an environment variable, see the [application configuration](applications.md#configuration) section.
```
1 change: 1 addition & 0 deletions docs/source/user-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ productions.md
manage_simulation_models.md
simulate_calibration_data
applications.md
container_images.md
```