Installation Requirements

The major part of the HEALPix distribution is written in both Fortran 90 and C++ and so the appropriate compilers must be present (Linux and Darwin users should look at Section 7 about free F90 compilers). Many visualisation tools and map manipulation routines are provided in IDL (please note that at least version 5.0 is required). Some of the HEALPix routines are now also available in C (for further details on these routines and their installation, please report to the document ''C Subroutines Overview'' and to src/C/README).

This section and the next focus on the compilation and installation of the Fortran 90 routines. For more information on the C++ routines and their installation see src/cxx/README.compilation.

The configure script is written in the Bourne shell. The script attempts to generate a Makefile which is tailored to one of the above Operating Systems (OS's) and using Makefile.in as a template for non-system specific statements. Only the basic UNIX make facility is required to build the software, although we do still recommend the GNU make facility (ftp://ftp.gnu.org/gnu/make/). In addition, a system Profile and IDL startup file are generated/included in the distribution. These automatically establish various environment variables and aliases to make the use of the HEALPix package simpler.

The HEALPix Fortran 90, C++ and C distributions also require the publicly available CFTISIO library:

Software Package Source
   
CFITSIO V 2.xx library http://heasarc.gsfc.nasa.gov/docs/software/fitsio/
   
 

And finally, the IDL visualization software is commercially available at

Software Package Source
   
IDL V 5.x or 6.x http://www.rsinc.com/
   
 

(versions 5.3 to 6.2 have been extensively used during the development of the HEALPix IDL codes).

As it was already the case in version 1.20, users no longer need to acquire the IDL Astronomy User's Library (http://idlastro.gsfc.nasa.gov/homepage.html) or the COBE (IDL) Analysis Software (http://www.gsfc.nasa.gov/astro/cobe/cgis.html), although we do recommend these packages to the user. The few routines required for version 2.00 are contained in a new subdirectory Healpix_2.00/src/idl/zzz_external. These procedures are included in the HEALPix package unchanged and solely for the purpose of making it self contained. In this way, we remove the burden of installation of additional libraries from the end user.

A parallel implementation (based on OpenMP, for shared memory architectures) of the Spherical Harmonics Transforms involved in synfast, anafast, smoothing, plmgen and alteralm is now available by default and can be readily compiled and used with the standard installation script.

A set of routines with MPI parallelization (for distributed memory architectures) is also available for Spherical Harmonics Transform, thanks to the work of H.K. Eriksen (h.k.k.eriksen@astro.uio.no) and Snorre Boasson (ITEA, NTNU). See the F90 subroutines documentation for more information on how to use those routines in your code.

We found that it was remarkably difficult to find random number generators in the public domain which are simple yet powerful and easy to use. We are providing one (both in C++ and F90) which is an adaptation of an xorshift generator described in Marsaglia (Journal of Statistical Software 2003, vol 8). It has a theoretical period of $2^{128}-1 \approx 3.4\ 10^{38}$.

Eric Hivon 2005-08-31