Warning! The software and instructions on this page are specifically for working with eROSITA data from the eROSITA All-Sky Survey – Data Release 1 (DR1). If you are planning to analyze data from the Early Data Release, please make sure to install the correct software and follow the instructions provided here.

eSASS4DR1 installation

eSASS4DR1 (eROSITA Science Analysis Software System for Data Release 1) is distributed as a .tgz archive for Ubuntu and macOS. Previous versions were also available in a Docker container for Windows and other Linux systems. However, Docker support is discontinued from patch no. 1 onward. Instructions on how to download, install and use eSASS4DR1 can be found in the following.

1 Initial considerations

  • The eSASS4DR1 software installation requires the HEASOFT software package to be pre-installed on your computer. If this is not the case, download and install the HEASOFT package before proceeding. The eSASS4DR1 software has been tested with different versions of HEASOFT, including the latest HEASOFT v6.35.
  • As of May 2025, the eSASS4DR1 release includes a patch (no. 1) updating the erolib library from version 2.70.3 to 2.70.4. The previous version, erolib v2.70.3, caused a memory leak that prevented users from performing certain tasks - such as using evtool to create images.
  • The eSASS4DR1 release was tested on machines with:
    • Ubuntu 18.04, 20.04, and 22.04 with default compilers. Patch no. 1 has also been tested in Ubuntu 24.02 with default compilers.
    • macOS Big Sur, Monterrey, and Ventura with gcc v9 to v12. Intel CPU X86 native compilation, native M1 compilation, and Intel X86 emulation on M1 were also tested. Patch no. 1 has been also tested in macOS Sequoia with clang as default compiler.
    • eSASS4DR1 compiles with gcc v13 and above and with clang. However, limited testing has been performed. If you encounter issues, please report them via the Help forum.
  • The eSASS team is aware of the existence of other operative systems. However, from eSASS4DR1 patch no. 1 we do not provide/support a Docker container anymore.
  • This release uses HEALPix 3.50. It is distributed in the eSASS4DR1 package, but it is the same version as in the previous eSASS releases. You can re-use your previous version if you do not want to re-compile it (see instructions below).
  • eSASS4DR1 is the equivalent of eSASSusers_211214 used by the eROSITA-DE members and which is mentioned in several eROSITA-DE publications.
  • eSASS4DR1 is released under the GNU General Public License (GNU gpl) 2+.

1.1 History of updates

Thanks to valuable feedback from the user community, the eSASS4DR1 software is being actively updated and patched. Below is a chronological list of changes; however, users are strongly encouraged to install the latest release for the most up-to-date features and fixes:

  • May 2025, eSASS4DR1 was patched (no. 1) in order to update the erolib library from version 2.70.3 to 2.70.4. The previous version, erolib v2.70.3, caused a memory leak that prevented users from performing certain tasks - such as using evtool to create images.
  • Oct 2025, eSASS4DR1 patch 1 is patched (no. 2), updating the erolib library from version 2.70.4 to 2.70.5. The previous version, erolib v2.70.4, continued with a memory leak that prevented users from creating images of large areas in the sky

1.2 List of supported architectures

The following table shows the operative systems were the eSASS4DR1 release was tested:

OS family Name Version CPU architecture native compilation
macOS Catalina 10.15.7 X86_64 OK
macOS Big Sur 11.7.10 X86_64 OK
macOS Monterey 12.6.8 X86_64 OK
macOS Ventura 13.6 ARM64 OK
macOS Sequoia 15.4.1 ARM64 OK
Linux Ubuntu bionic 18.04 LTS X86_64 OK
Linux Ubuntu Focal 20.04 LTS X86_64 OK
Linux Ubuntu Jammy 22.04 LTS X86_64 OK
Linux Ubuntu Noble 24.04.2 LTS X86_64 OK

2 Dowloading eSASS4DR1 and the eROSITA calibration database (CALDB)

Minimum requirements:

  • CPU: x86-64 CPU (Intel, AMD or equivalent), Apple Silicon M1/M2
  • Memory: 8 GB
  • Disk space: 3 GB (including CALDB)

The eSASS4DR1 package can be downloaded as a unique archive tarball from the following link:

eSASS4DR1 (including patch no. 2)

The package already includes a library patch released in October 2025 (eSASS4DR1 patch No. 2). If you have an existing eSASS4DR1 installation and want to apply the patch, please refer Section 4.

The CALDB is also available as a separate tarball. You can download it via the following link:

CALDB4DR1

Note: The size of the CALDB is roughly 2 GB. Please make sure that you have enough space before downloading it.

3 Installing eSASS4DR1 on Linux (Ubuntu systems) and macOS

3.1 Unpacking eSASS4DR1 and CALDB4DR1

After downloading the eSASS4DR1 package, you must move the file to an installation folder (/<my eSASS path>/) and extract the content. Extract it using the following command:

 $ tar zxf eSASS4DR1.0.1.tgz

The eSASS4DR1 contains two subfolders: eSASS and external.

Similarly, the CALDB4DR1 can be extracted in a location of your preference. This exact CALDB path must be specified as a parameter during the installation process (see below).

3.2 External libraries

The eSASS4DR1 software depends on several external libraries (e.g., HEALPix) to function properly. While these libraries are included in the eSASS4DR1 package, you may also use existing installations, provided they are compatible.

Careful configuration is required for the following external libraries.

Note: All other software packages in the external directory will be built automatically during installation.

HEALPix configuration

There are two possibilities to configure HEALPix:

  1. If you already have a HEALPix v3.50 installation on your system, you can re-use it. In this case, you need to identify the full path of this HEALPix 3.50 installation.
    Ensure the same compiler is used for both HEALPix and eSASS4DR1 to avoid compatibility issues.
  2. eSASS4DR1 provides the HEALPix v3.50 package. To compile it, go to the directory:
 $ cd /<my eSASS path>/external/Healpix_3.50 

and launch the configure script there:

  1. Choose option "3": configure Healpix F90 package.
  2. Enter the name of your F90 compiler (e.g., gfortran).
  3. Accept all default flags.
  4. Enter the name of your C compiler (e.g., gcc, or gcc-** for macOS, i.e., specifying the version).
  5. Accept all default flags.
  6. Accept for the libcfitsio.a library.
  7. Point to your CFITSIO library (the command locate can be used to find the directory ~/lib/ where libcfitsio.a is placed, which comes with the HEASOFT installation.
    Or, if HEASOFT is installed, the command echo $HEADAS/lib may give the location of libcfitsio.a). It is advisable to give the full path.
  8. Enabling the PGPLOT is optional.
  9. Choose the standard serial implementation, i.e. option "0".
  10. Accept the Position Independent Compilation.
  11. Choosing a shared/dynamic library is optional.
  12. Choose option "0": exit.

Finally, execute: make.

FFTW library

The eSASS software also requires the fftw library installed in your system. In Ubuntu systems, it can be installed by typing sudo apt install libfftw3-double3 libfftw3-single3 libfftw3-long3 libfftw3-dev in a terminal. Note: This requires administrator privileges (i.e., your sudo password). In macOS systems, please install the fftw-3, fftw-3-long, and fftw-3-single, either using MacPorts or Brew.

Other libraries for macOS

macOS systems also require: autoconf, automake, coreutils, libtool, ncurses, readline, realpath, libpng, and perl.

3.3 Installation

From this point on, it is assumed that:

  • You have a HEASOFT installation, and the path of this installation is stored in the environment variable HEADAS.
  • You have access to a HEALPix 3.50 installation.
  • You have a fftw library installed on your computer.

You can proceed with the eSASS installation as described below.

Source your HEASOFT installation:

if you are using bash,

$ source $HEADAS/headas-init.sh

if you are using csh,

$ source $HEADAS/headas-init.csh

Go to the directory:

 $ cd /<my eSASS path>/eSASS4DR1/eSASS/autoconf 

The autoconf/automake needs to know the path to the various compilers. This can be done either by setting some environment variables before starting. To set up the required variables before starting:

in bash:

$ export CC=/<my path to gcc>/gcc
$ export CXX=/<my path to g++>/g++
$ export FC=/<my path to gfortran>/gfortran 
$ export F77=/<my path to gfortran>/gfortran 

in csh

% setenv CC /<my path to gcc>/gcc
% setenv CXX /<my path to g++>/g++
% setenv FC /<my path to gfortran>/gfortran
% setenv F77 /<my path to gfortran>/gfortran

The eSASS4DR1 configuration of the installation is achieved by:

 $ aclocal
 $ autoreconf -fi -v
 $ ./configure --with-caldb=/<my CALDB path>/ --with-healpix=/<my HEALPix path>/ \
   --with-headas=$HEADAS --with-gsl=compile --with-lapack=system

It is recommended to give the absolute path to the CALDB and HEALPix directories.

To verify successful configuration, the output should end with:

### CALDB SETUP ###
configure: Using caldb directory /<full path to caldb> as you provided for setup
### Installation location: /<my eSASS path>/eSASS4DR1/eSASS ### 

Continue the eSASS build by executing:

 $ make
 $ make install 

If you do not get any error messages, congratulations! Your eSASS build should now be complete.

Finally, run the command

 $ make clean

to optionally remove files that are no longer needed after the completion of the build.

To enable the eSASS environment, execute the following command (either sh or csh version):

 $ source /<my eSASS path>/eSASS4DR1/eSASS/bin/esass-init.[c][z]sh 

4 Patching eSASS4DR1

For users that have installed eSASS4DR1 before October 2025, a patch to one eSASS4DR1 library is available. You can either reinstall eSASS4DR1 from scratch or patch your existing installation. If the first option is chosen, please make sure to rename or delete your current eSASS4DR1 folder and replace it with the one available above and install eSASS4DR1 as instructed in Section 3. If you want to patch your installation, please follow the instructions below.

Download the following file:

erolib-2.70.5.tgz: erolib v2.70.4, caused a memory leak that prevented users from performing certain tasks - such as using evtool to create images.

After downloading the erolib patch, you must move the file to your eSASS4DR1 installation and extract the content there:

 
 $ mv /<my download area>/erolib-2.70.5.tgz /<my eSASS path>/eSASS4DR1/eSASS/erosita/task/
 $ cd /<my eSASS path>/eSASS4DR1/eSASS/erosita/task/
 $ tar zxvf erolib-2.70.4.tgz
	  

Then, go to the directory /<my eSASS path>/eSASS4DR1/eSASS/autoconf/libraries/erolib/ and open the file called Makefile.am and move the line containing the module erolib_linklist2_mod.f90 just below the module erolib_linklist_mod.f90. Save and close the file.

Finally, go to the directory /<my eSASS path>/eSASS4DR1/eSASS/autoconf/ and execute:

 $ make clean
 $ make
 $ make install 

Make sure that you have sourced HEASOFT previously, and if possibly, the same version you used to install eSASS4DR1.

5 Testing eSASS4DR1

The eSASS team provides a script to test your eSASS4DR1 installation. This script can also help you learn to call the different eSASS tasks and code in python3 for exhaustive works with eROSITA data.

In the subfolder /<my eSASS path>/eSASS4DR1/eSASS/scripts/, you can find a python3 script named demoscript_DR1.py. This script calls all the eSASS tasks with some predefined parameters. demoscript_DR1.py takes two parameters as input: an event file name and an output folder name. You can give the relative or absolute path for both files. You can call the script's help by running:

 python3 $SASS_ROOT/scripts/demoscript_DR1.py -h

6 Support

  • All questions or problems related to eSASS can be submitted to the dedicated Help Forum.
  • The Help Forum offers different and dedicated sections. We suggest the users to search for a potential answer to their questions in the existing threads.

7 Previous eSASS4DR1 version and Docker installation

As mentioned in the introduction, starting in May 2025, eSASS4DR1 includes a patch. The previous version of eSASS4DR1 was also available as a Docker container for users without access to Ubuntu or macOS. The patched version is no longer available via Docker. If you wish to use the unpatched Docker version, please refer to this page. Note, however, that some eROSITA tasks may not be fully functional.