Updated over 7 years ago by Deil Christoph

gammalib and ctools deployment

Installing gammalib and ctools anywhere as well as updating when new versions come out should be as easy as possible.

One great way is to add gammalib and ctools to the most common Linux and Mac package repositories.


There are many Linux distributions and several package formats are in widespread use.
Fortunately there are tools and services that help packaging libraries and tools for all of them from one template.
I read a bit about a few possibilities and Open Build Service implemented at the openSUSE Build Service seems the best option.
I think it can produce packages for all popular Linux distributions and architectures.
For status see issue #580.


On the Mac we'll add gammalib to all two popular package managers:

There’s also Fink but it’s slowly dying and much less nice than Macports and Homebrew, so I think we should not even put gammalib in there and mention it for end-users (see issue #582).

In addition to deploying the software we might want to make it easy to get instrument IRFs, data and ancillary data (of course requiring a password for private data). Below a few thoughts, if we actually do this we should make wiki sub-pages.

API changes / compatibility

API and ABI stability is not an issue at the moment, this only becomes relevant when gammalib is widely used. Nevertheless we are already using this fully-automatic service (no work for us): We can also use the upstream-tracker to track changes in libraries gammalib depends on, which at the moment is only cfitsio:

Instrument IRF deployment

At the moment the Fermi LAT and CTA IRFs are contained in the gammalib repo. Due to the size, this is not possible for HESS and future CTA IRFs. Instead we should let the user set a CALDB environment variable and then provide a script to download / update the IRFs for data servers.

Instrument data deployment

We should make it easy to download, organize and possibly pre-process data (e.g. for Fermi LAT, HESS, the CTA data challenges) to be ready to run analyses with the ctools.
Like for the IRFs probably letting the user set an environment variable where to put the data and then having a script to download / update / pre-process the data would work quite well.
Ultimately, support for data in the Virtual Observatory format should be implemented in GammaLib, so that data can be directly accessed via virtual observatory protocols. So far, no exploratory work has been done to implement this capability, but it should be the ultimate goal.

Instrument ancillary data deployment

E.g. to run a Fermi data analysis you need the diffuse models and catalog. For HESS you need exclusion regions. These required ancillary files to run analyses could be easily deployed conveniently for the end user similar to the IRFs and data. Also here, virtual observatory protocols can be implemented to access these data.

Also available in: PDF HTML TXT