Skip to content

Commit 935c637

Browse files
authored
Merge pull request #53 from VERITAS-Observatory/towncrier
Typos fixes; addition of towncrier for changelogs.
2 parents 4850e21 + e1c550f commit 935c637

File tree

14 files changed

+273
-195
lines changed

14 files changed

+273
-195
lines changed

.github/workflows/CI.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: CI
3+
4+
on:
5+
workflow_dispatch:
6+
pull_request:
7+
types: [opened, synchronize]
8+
schedule:
9+
- cron: "0 0 * * *"
10+
11+
jobs:
12+
13+
linting:
14+
runs-on: ubuntu-latest
15+
defaults:
16+
run:
17+
shell: bash -leo pipefail {0}
18+
19+
permissions:
20+
contents: read
21+
packages: read
22+
statuses: write
23+
24+
steps:
25+
- name: checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Set up Python
29+
uses: actions/setup-python@v5
30+
with:
31+
python-version: "3.11"
32+
33+
- name: Check whether the citation metadata from CITATION.cff is valid
34+
uses: citation-file-format/cffconvert-github-action@2.0.0
35+
with:
36+
args: "--validate"
37+
38+
- name: Pre-commit
39+
run: |
40+
pip install pre-commit
41+
pre-commit run --all-files

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
repos:
22
# https://pycqa.github.io/isort/docs/configuration/black_compatibility.html#integration-with-pre-commit
33
- repo: https://github.com/pycqa/isort
4-
rev: 5.13.2
4+
rev: 6.0.1
55
hooks:
66
- id: isort
77
args: ["--profile", "black", "--filter-files"]
88
- repo: https://github.com/psf/black
9-
rev: 24.10.0
9+
rev: 25.1.0
1010
hooks:
1111
- id: black
1212
args: ["--line-length=100"]
1313
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html?highlight=other%20tools#flake8
1414
- repo: https://github.com/PyCQA/flake8
15-
rev: 7.1.1
15+
rev: 7.2.0
1616
hooks:
1717
- id: flake8
1818
args: ["--max-line-length=100"]
@@ -24,7 +24,7 @@ repos:
2424
- id: end-of-file-fixer
2525
# codespell
2626
- repo: https://github.com/codespell-project/codespell
27-
rev: v2.3.0
27+
rev: v2.4.1
2828
hooks:
2929
- id: codespell
30-
args: ["--ignore-words-list=Gaus,highE",]
30+
args: ["--ignore-words-list=Gaus,highE,MIROR,ARRANG",]

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# CHANGELOG
2+
3+
All notable changes to the VTS-SimPipe project will be documented in this file.
4+
Changes for upcoming releases can be found in the [docs/changes](docs/changes) directory.
5+
Note that changes before release v2.2.0 are not documented here, but can be found in the
6+
[GitHub repository](https://github.com/VERITAS-Observatory/VTS-SimPipe/releases).
7+
8+
This changelog is generated using [Towncrier](https://towncrier.readthedocs.io/).
9+
10+
<!-- towncrier release notes start -->

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ cff-version: 1.2.0
44
message: If you use this software, please cite it using these metadata.
55
title: "VTS-SimPipe: simulation tools for the VERITAS observatory"
66
doi: 10.5281/zenodo.10541349
7-
version: 2.0.0
7+
version: 2.1.1
88
type: software
9-
date-released: 2024-03-12
9+
date-released: 2024-10-17
1010
keywords:
1111
- "gamma-ray astronomy"
1212
- "astronomy software"

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BSD 3-Clause License
22

3-
Copyright (c) 2024, Gernot Maier, VERITAS Collaboration
3+
Copyright (c) 2024, 2025 Gernot Maier, VERITAS Collaboration
44

55
Redistribution and use in source and binary forms, with or without
66
modification, are permitted provided that the following conditions are met:

README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ No compilation of any of the package is required.
3434
# clone repository
3535
git clone https://github.com/VERITAS-Observatory/VTS-SimPipe.git
3636
cd VTS-SimPipe
37-
# prepare log files and directories
37+
# configure environment variables
3838
cp env_setup_template.sh env_setup.sh
39-
# edit env_setup.sh to your needs
40-
# pull all container images from the registry
39+
# edit env_setup.sh to specify local paths and container runtime (docker/apptainer)
40+
# download pre-built container images from registry
4141
cd scripts && ./pull.sh
42-
# prepare your configuration (e.g. zenith angle, number of events, etc.)
43-
# see example in config/config_ATM61_template.dat
42+
# configure simulation parameters (zenith angle, primary particle type, energy range, etc.)
43+
# see template configuration in config/config_ATM61_template.dat
4444
# prepare production
4545
cd scripts
4646
./prepare_all_production_steps.sh ../config/config_ATM61_template.dat
@@ -58,7 +58,7 @@ cd scripts
5858

5959
## Software packages
6060

61-
Following software packages are used by the simulation pipeline and installed in the docker images:
61+
Following software packages are integrated into the simulation chain via containerized environments:
6262

6363
- [CORSIKA](https://web.ikp.kit.edu/corsika/) for air shower and Cherenkov photon generation
6464
- [corsikaIOreader](https://github.com/GernotMaier/corsikaIOreader/) for file format conversion and Cherenkov photon absorption and scattering.
@@ -82,7 +82,9 @@ Note that the CI on github will build three different containers for CORSIKA:
8282

8383
1. [vts-simpipe-corsika](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika) based on [docker/Dockerfile-corsika](docker/Dockerfile-corsika) with the standard CORSIKA software (as used in VERITAS for productions in the past); configuration and compilation using the `coconut` tools.
8484
2. [vts-simpipe-corsika-noopt](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-noopt) based on [docker/Dockerfile-corsika-noopt](docker/Dockerfile-corsika-noopt) using CORSIKA 7.7500 used compile coptions as outlined in the Docker file (in contrast to 1., uses the `O3` flags, but it does not use the vectorization code of 3.)
85-
3. [vts-simpipe-corsika-ax2](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-ax2) based on [docker/Dockerfile-corsika-ax2](docker/Dockerfile-corsika-ax2) using CORSIKA 7.7500 with minor updates to the Bernlohr package (this is the package used for the generation and propagation of Cherenkov photons). A patch is applied to the Cherenkov photon code to allow to use vector instructions and improve runtime performance, see discussions in L. Arrabito et al, *Optimizing Cherenkov photons generation and propagation in CORSIKA for CTA Monte-Carlo simulations*, [arXiv.2006.14927](https://arxiv.org/abs/2006.14927)
85+
3. [vts-simpipe-corsika-ax2](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-ax2) based on [docker/Dockerfile-corsika-ax2](docker/Dockerfile-corsika-ax2) using CORSIKA 7.7500 with minor updates to the Bernlohr package (this is the package used for the generation and propagation of Cherenkov photons). A patch is applied to the Cherenkov photon code to allow to use vector instructions and improve runtime performance, see discussions in L. Arrabito et al, *Optimizing Cherenkov photons generation and propagation in CORSIKA for CTAO Monte-Carlo simulations*, [arXiv.2006.14927](https://arxiv.org/abs/2006.14927)
86+
87+
The use of optimized CORISKA containers requires access to x86_64 architecture with SSE4/AVX2/AVX512 support.
8688

8789
To build the CORSIKA container (similar for all):
8890

@@ -298,17 +300,17 @@ SLANT 1
298300

299301
## Optimization of CORSIKA
300302

301-
The CTA simulation pipeline uses vector-optimization of the Cherenkov photon generation and propagation code in CORSIKA with notable performance improvements, see the discussion in L. Arrabito et al, *Optimizing Cherenkov photons generation and propagation in CORSIKA for CTA Monte-Carlo simulations*, [arXiv.2006.14927](https://arxiv.org/abs/2006.14927).
303+
The CTAO simulation pipeline uses vector-optimization of the Cherenkov photon generation and propagation code in CORSIKA with notable performance improvements, see the discussion in L. Arrabito et al, *Optimizing Cherenkov photons generation and propagation in CORSIKA for CTAO Monte-Carlo simulations*, [arXiv.2006.14927](https://arxiv.org/abs/2006.14927).
302304

303-
VTS-SimPipe is able to use the same optimized CORSIKA, thanks to for Luisa Arrabito for providing it. Below a comparison of the runtime of the optimized and non-optimized CORSIKA for the same simulation setup:
305+
VTS-SimPipe is able to use the same optimized CORSIKA, thanks to for L. Arrabito for providing it. Below a comparison of the runtime of the optimized and non-optimized CORSIKA for the same simulation setup:
304306

305307
| Type | CORSIKA version | IACT/ATMO version | Remarks | Run Time [s] / event | Ratio to VTS-SimPipe |
306308
| -------- | -------- | -------- | -------- | -------- | -------- |
307309
| VTS-SimPipe | 7.7500 | 1.66 (2023-02-03) | default coconut build (see remarks below); [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika/177291090?tag=1.1.0), [docker](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika); SLANT option; no VIEWCONE | 33.6 | 1. |
308310
| VTS-noopt | 7.7500 | 1.66 (2023-02-03) | no specific optimization (O3; see remarks below); [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-noopt/182679178?tag=20240223-115829) [docker (noopt arg)](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika-optimized) | 17.2 | 2.0 |
309311
| VTS-avx2 | 7.7500 | 1.66 (2023-02-03) | avx2 [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-avx2/182679269?tag=20240223-115831), [docker (avx2 arg)](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika-optimized) | 13.42 | 2.5 |
310312
| VTS-sse4 | 7.7500 | 1.66 (2023-02-03) | sse4 [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-sse4/182679278?tag=20240223-115831), [docker (sse4 arg)](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika-optimized) | 12.5 | 2.7 |
311-
| VTS-avx512f | 7.7500 | 1.66 (2023-02-03) | avx51f [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-avx512/182679206?tag=20240223-115833), [docker (avx512 arg)](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika-optimized) | 13.7 | 2.4 |
313+
| VTS-avx512f | 7.7500 | 1.66 (2023-02-03) | avx512f [container](https://github.com/VERITAS-Observatory/VTS-SimPipe/pkgs/container/vtsimpipe-corsika-avx512/182679206?tag=20240223-115833), [docker (avx512 arg)](https://github.com/VERITAS-Observatory/VTS-SimPipe/blob/main/docker/Dockerfile-corsika-optimized) | 13.7 | 2.4 |
312314

313315
### Remarks
314316

config/GROPTICS/Upgrade_20120827_v420_3.cfg

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ v) set low gain multiplier according to low gain analysis results from 200712 (n
217217
218218
vi) set CFD threshold to 50 mV
219219
220-
vii) new mirror reflectivities according to measurments on 2007/11/26 (VBC elog 4395)
220+
vii) new mirror reflectivities according to measurements on 2007/11/26 (VBC elog 4395)
221221
222222
====================================================================================================
223223
@@ -279,14 +279,14 @@ v) G.Maier and J.Holder, Simulation of T1, VERITAS internal note (see T1 ELOG
279279

280280
* VERSN 4.2.0
281281

282-
Numbre of telescope (NBRTL)
282+
Number of telescope (NBRTL)
283283
* NBRTL 4
284284

285285
Telescope location in the field (TLLOC) the parameters are:
286286
-the telescope identification number
287-
-the X (oriented towrd east) location cordinate in meters.
288-
-the Y (oriented toward north)location cordinate in meters.
289-
-the Z (oriented toward up) location cordinate in meters.
287+
-the X (oriented toward east) location coordinate in meters.
288+
-the Y (oriented toward north)location coordinate in meters.
289+
-the Z (oriented toward up) location coordinate in meters.
290290
-the telescope rotation offset in meters.
291291
The telescope rotation offset is the distance below the focal point
292292
of the mirror along the optical axis about which the telescope
@@ -309,7 +309,7 @@ The simulation parameter record SIMUL contains
309309
for the simulation calculation to be carried with.)
310310
-the number of samples over which the simulation produces the signals
311311
-the number of samples over which the noise database is produced
312-
(GM) should be 20000, but noise calculation currently extremly slow
312+
(GM) should be 20000, but noise calculation currently extremely slow
313313
* SIMUL 2.0 100 4000
314314

315315

@@ -330,7 +330,7 @@ Mirror design (MIROR). The parameters are
330330
Mirror reflectivity curve (RFCRV). The flag is followed by
331331
-the the reflectivity curve identification index
332332
-the number of points given on the quantum efficiency spectral curve.
333-
This is followed by a serie of
333+
This is followed by a series of
334334
-wave length(in nano-meter)
335335
-reflectivity(fraction of unity)
336336

@@ -413,7 +413,7 @@ Mirror element (MIREL) characterisation. For each we have
413413
-the curvature radius
414414
-the x position of the element on the dish (in meters)
415415
-the y position of the element on the dish (in meters)
416-
-the maximum mis-alignement in degrees
416+
-the maximum misalignment in degrees
417417
-the maximum blure radius in degrees
418418
-the degradation factor (1.0=perfect 0.0=missing)
419419
-the reflectivity curve identifier

docker/Dockerfile-corsika-optimized

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ RUN make clean && rm -f */*.a lib/*/*.a && \
3636
F77="${GCC_PATH}/gfortran -L/lib64/" \
3737
CFLAGS="-DCERENKOPT -DVLIBM -std=c99 -O3 -m${AVX_FLAG} -DVECTOR_SIZE=8 -DVECTOR_LENGTH=8" \
3838
CXXFLAGS="-DCERENKOPT -DVLIBM -std=c99 -O3 -m${AVX_FLAG} -DVECTOR_SIZE=8 -DVECTOR_LENGTH=8" \
39-
# Note: different to CTA - no change in avx options for Fortran
39+
# Note: different to CTAO - no change in avx options for Fortran
4040
# FFLAGS="-ffixed-line-length-132 -fno-automatic -frecord-marker=4 -std=legacy -DCERENKOPT -DVLIBM -std=c99 -O3 -m${AVX_FLAG} -DVECTOR_SIZE=8 -DVECTOR_LENGTH=8" \
4141
FFLAGS="-ffixed-line-length-132 -fno-automatic -frecord-marker=4 -std=legacy -std=c99 -O3 -mavx2" \
4242
install; \

0 commit comments

Comments
 (0)