athena: Tree code for second-order correlation functions

athena olive tree Martin Kilbinger, CEA Saclay, Service d'Astrophysique (SAp), France

METHOD athena is a 2d-tree code written in C, which estimates second-order correlation functions from input galaxy catalogues. These include shear-shear correlations (cosmic shear), position-shear (galaxy-galaxy lensing) and position-position (spatial angular correlation).

  DOWNLOAD Get the latest version athena_1.7.tgz. A readme file is available. Run the code on the test data set. New features and bug fixes in version 1.7 (Mar 2014):

  • General
    • Added FITS file support. Input catalogues and output correlation function files can be both in ascii or fits format.
      (Note: If reading a FITS file causes a segmentation fault, remove the compiler option "-std=c99", either from CMakeLists.txt or src/Makefile.athena".)
    • Format of resample files changed, only relevant columns are output.
    • Compilation of code automated using cmake. Alternatively, the traditional Makefile is still usable.
    • Directory structure changed.

To compile and run the code, you need a C-compiler. To calculate the angular correlation function, including reading mask files and creating random catalogues, gsl and perl and required. The library cfitsio is optional (for FITS file support).

Further scripts are part of the athena package:

  • The python script calculates (band-)power spectrum by integrating over the correlation function using an estimator from this paper. Further, the aperture-mass dispersion is compuated, also via integrating the correlation function.
  • The perl script is the master script for angular correlation function calculations. It creates random catalogues and calls athena for all necessary combinations of data and random catalogues, including redshift bins, and outputs the Landy & Szalay (1993) and Hamilton (1993) estimators of the correlation function.
  • Two perl scripts ( and calculate projections of an input catalogue in spherical coordinates, and transform an arbitrary (ascii) input catalogue into an athena-readable format.
  • The python script runs a series of tests for easy comparison with expected results.
  • Various scripts to transform and plot resampled data (e.g. Jackknife)

  • For older versions of athena please contact me (martin.kilbinger at


Martin Kilbinger
Christopher Bonnett (gal-gal lensing)
Jean Coupon (venice)

With helpful suggestions from Henry McCracken, Lance Miller, and Barnaby Rowe. Ami Choi, Jonathan Benjamin, Matthieu Béthermin, and Shahab Joudaki are thanked for testing the code and bug-hunting.

Please feel free to send questions, feedback and bug reports to If you want to be added to the athena mailing list, to get updates about new versions and bug-fixes, send me a mail to

CosmoPMC (cosmology sampling with Population Monte Carlo [PMC])
nicaea (cosmology and lensing package)
reduced-shear corrections home

Last updated February 2017.