Index of /~bernlohr/iact-atmo The IACT/ATMO package for CORSIKA

The IACT/ATMO package for CORSIKA

The CORSIKA program is a program for the simulation of cosmic-ray showers in the atmosphere, originally provided by Dieter Heck <dieter.heck(at)partner.kit.edu> and now maintained by Tanguy Pierog <tanguy.pierog(at)kit.edu> at the Karlsruhe Institute of Technology (the former Forschungszentrum Karlsruhe, see here for the CORSIKA home page).

The IACT/ATMO package (in CORSIKA documentation usually referred to as the 'bernlohr' package) is an extension to CORSIKA, providing a more flexible and machine-independent handling of Cherenkov light. It consists of a number of C source and header files, a makefile (GNUmakefile.org) useful for building extra utility and test programs not necessary for CORSIKA, and shell scripts which be used to build specific versions of CORSIKA rather than going through the error-prone interactive setup. The gen_config script should work for CORSIKA versions 6.5xx or newer (up to at least 7.7100 so far). On top of that and whatever is used by the specific CORSIKA version internally, you can use the corsika_build_script to steer the whole build process, although strictly only intended for Linux systems and the gfortran (i.e. GCC) compiler.

Note on use with historical CORSIKA versions: The makefile (GNUmakefile.org or GNUmakefile in old versions of this package) was used for convenient building of CORSIKA versions 6.0xx to 6.2xx together with additional files. Note that the makefile is obsolete with CORSIKA version 6.500 and newer and was then renamed to avoid interference with the build procedure of CORSIKA itself. The renamed file may still be useful for building some utility and test programs that come with the IACT/ATMO package, for example:

    make -f GNUmakefile.org testio
If not familiar with the IACT/ATMO package, take a look at ReadMe.pdf first.

Before downloading a package (bernlohr-1.xx.tar.gz) you should also read this copyright notice.

Report problems (and send your fan mail) as usual to
Konrad . Bernloehr (at) mpi-hd . mpg . de

Although different experiments have developed their own telescope simulation codes, typically based on the free sim_skeleton.c code coming with this package, the main application for further processing of the Cherenkov light output by the IACT/ATMO package is sim_telarray. You may find further documentation there.


Icon  Name                         Last modified      Size  
[TXT] 00ReadMe.txt 2023-11-10 15:00 57K [DIR] CORSIKA-Patches/ 2023-04-13 12:26 - [TXT] ChangeLog 2024-02-01 12:00 65K [TXT] Copyright 2023-01-12 08:54 1.4K [   ] Corsika_IACT.pdf 2014-10-19 22:12 15M [   ] LightEmission.tar.gz 2024-02-01 11:33 3.3M [   ] LightEmission_refman.pdf 2024-02-01 11:32 265K [   ] LightSourcesPresentation.pdf 2016-11-03 17:13 2.9M [DIR] Old/ 2022-07-18 16:15 - [   ] ReadMe.pdf 2023-11-10 15:00 139K [   ] atmo-impl.pdf 2019-06-19 09:43 1.2M [   ] bernlohr-1.60.tar.gz 2019-10-08 15:54 1.5M [   ] bernlohr-1.61.tar.gz 2020-03-17 21:02 1.5M [   ] bernlohr-1.62.tar.gz 2020-08-25 18:18 1.5M [   ] bernlohr-1.63.tar.gz 2021-09-29 10:36 1.5M [   ] bernlohr-1.64.tar.gz 2022-07-18 15:55 1.5M [   ] bernlohr-1.65.tar.gz 2022-12-15 18:05 1.5M [   ] bernlohr-1.66.tar.gz 2023-02-10 15:22 1.5M [   ] bernlohr-1.67.tar.gz 2023-11-10 15:01 1.6M [   ] build_all 2023-10-05 17:06 49K [TXT] clean_all 2022-08-11 18:04 6.2K [   ] corsika+iacts.pdf 2019-06-18 00:48 3.2M [TXT] corsika_build_script 2023-04-13 12:20 8.6K [TXT] gen_config 2023-10-20 15:10 41K [   ] iact_refman.pdf 2023-11-10 15:00 962K [   ] iact_refman.tar.gz 2022-07-18 16:25 1.5M [DIR] iact_refman/ 2020-12-04 14:16 -

Latest News

2023-11-10: Version 1.67

That includes support for long run numbers (needed when compiling CORSIKA with NRREXT option; the run number field in the run header data itself would be subject to rounding error but we have it separately in the EventIO 'item header' anyway, as a 32-bit integer).
Get log output from Fortran and from C code more smoothly together in a single log file, flushing output from one side when the other takes over. How smoothly that works, may depend on your compiler.
A 'make -f GNUmakefile.org read_iact.c' should work again.

2023-01-12/2023-02-10: Update of IACT/ATMO package to version 1.66

Particles arriving at observation level can now be activated at run-time, even without IACTEXT option. Extra information on particles emitting Cherenkov light can also be enabled/disabled at run-time but still requires IACTEXT. These features work best with CORSIKA 7.7410 plus patch or with CORSIKA 7.7500.
Building some of the auxiliary tools, like read_iact, with GNUmakefile.org is not working. Use the full 'hessioxxx' package to build them.

2022-12-15: Update of IACT/ATMO package to version 1.65

This fixes a problem with importance sampling configured to be interpolated both in energy and in zenith angle (2D).

2022-07-18: Update of IACT/ATMO package to version 1.64

Since there has been some confusion with several minor updates within Version 1.63, the Version 1.64 release, almost identical to the latest 1.63 release, is meant to clean that mess up by replacing all 1.63 versions. Note that several CORSIKA versions by now came with an outdated 1.63 version which broke the IACTEXT option. If you do not use that and 1.63 works for you, keep it. In case of doubt or before you report any problems, update to 1.64.

2020-12-04: Adding importance sampling and external primaries

Version 1.63 includes implementations of importance sampling, which may depend on energy and/or zenith angle, and also a simple implementation pre-defined primary particle parameters (which can be different primary particle types in the same file).

2020-02-24: No event end blocks without event header?

In extremely low-energy electron events (say 500 MeV, at large zenith angles), the ELECTR subroutine in CORSIKA might discard a primary particle without writing an event header block - but the main program still writing the event end block afterwards. The IACT interface is now blocking event end blocks without preceding header blocks. That is an extreme corner case and if you really want to get these events accounted for, there is an experimental CORSIKA patch included with release 1.61, making sure there is an event header for these events. Everybody else can safely ignore either change and patch.

2019-09-03: Updates for CORSIKA 7.7000

A few minor changes for a proper build (mainly the scripted rather than the 'coconut' interactive way) with CORSIKA 7.7000. Both IACT/ATMO package versions 1.59 (as 1.59-7.7) and 1.60 should now work with CORSIKA 7.7000 - and of course with older versions as well.

2019-07-24: Add an extra data block for atmospheric profiles

A new type of 'eventio' data block gets written by the IACT/ATMO interface which includes the original content of an external atmospheric profile table (with the purpose that sim_telarray does no longer need to search for the file by 'atmosphere number' and hope it is still the same), supplemented with the fitted 5-layer parameters as used in the EGS part of CORSIKA.

2019-05-27: Dropping some interpolation options. Support newer compilers.

While version 1.58 included many different ways to interpolate atmospheric profile tables, most of those got dropped with 1.59. Using 'rpolator.c' for the interpolation is always needed. Compatibility with newer compilers like GCC 9.1 and clang 8 was improved, fixing all new warnings.

2019-01-21: Atmospheric profile interpolation makes use of cubic splines.

All interpolations are now, for faster lookup, into equidistantly spaced and finely binned internal tables, using cubic splines for the initial interpolation from (order 50) non-equidistant to (typically) 10000 equidistant steps, on which we apply linear interpolation.
An error in the density column of atmprof9.dat was corrected.

2016-11-03: Adding the LightEmission stand-alone package to this page.

It is useful to simulate artificial light sources (without CORSIKA) and write photon bunches through the IACT/ATMO package (version 1.50 from October 2016 or newer) in the same format as with CORSIKA.

2014-01-27: Drop support for CORSIKA versions before 6.500

Version 1.48 no longer supports very old CORSIKA versions. Use version 1.47 if you want to try with CORSIKA before version 6.500.

2010-12-13: IACT interface code under LGPL

The IACT interface code is now available under the terms of the LGPL (Lesser GNU Public License) version 2.1 or newer. Utility programs are under GPL 3+ while terms of distribution for data and configuration files remain basically unchanged.

2010-06-11: Compatibility with CORSIKA THIN option restored

The weights of events produced with the CORSIKA THIN option were not used, apparently for a long time. This should be fixed with version 1.43. That version also brings experimental support for CORSIKA versions 6.9xx to the gen_config utility script.

2008-02-12: Automatic thinning of bunches added

When many bunches hit the same telescope, the bunches in this telescope get automatically thinned, resulting in a limited memory usage even with very large showers. (Note: this kind of thinning is completely separate from the particle thinning optionally used in CORSIKA itself.) In addition, extensions in eventio allow for more than one GiB of data per telescope array. This results in better support for huge telescope arrays, from the smallest to very large showers.

2007-03-13: gen_config utility script added

A utility script 'gen_config' was added for batch-style installation of any CORSIKA version 6.5xx.

2006-04-07: Bug in IACT/ATMO version 1.34 (when used with CORSIKA version 6.5xx)

The new get_impact_offset() function in iact.c was not well adapted to the new CORSIKA version. This is fixed in version 1.35.
Users of CORSIKA 6.5xx: please update or disable get_impact_offset(). No need to update for users of CORSIKA 6.2xx.


Impressum/Disclaimer | Datenschutzhinweis