darksusy is hosted by Hepforge, IPPP Durham

Getting started

In order to install DarkSUSY, you need standard compiler tools like make, gfortran, gcc, g++ etc.
On Linux systems you typically have part of this already installed, out of the box, but on some systems you need to install them. This is usually done with a package manager (e.g. apt-get on Ubuntu). You also need perl, curl (+libcurl!), autoconf, aclocal and cmake for all contributed code to compile successfully.
On Mac OS X you need to install Xcode and the command-line tools (xcode-select --install). You also need to install gcc, g++ and gfortran -- as well as the other packages mentioned above for Linux systems. This can be done from either MacPorts or homebrew, or by downloading the binary tar-files from here.

Known issues: Compilation with ifort is currently not actively supported (but will be in future releases). Installation on the Apple Silicon (M1) architecture is presently only possible with gcc11 (or later) supplied by homebrew; however, Higgssignals and Higgsbounds do not compile with this setup and are hence disabled during the installation process. Insufficient disk space during installation leads to an error message that may go unnoticed; if that happens, running the example program dstest segfaults on some systems.

DarkSUSY installation

First download the most recent DarkSUSY version, save it locally and cd into that directory. Then unpack the dowloaded file, configure and install:

    tar zxvf darksusy-6.x.x.tgz
    cd darksusy-6.x.x
    ./configure
    make

In the configure step above, you can also provide further options to improve compiler performance (e.g. by running ./conf.gfortran instead of ./configure in case you use gfortran). If something went wrong, you can always undo only the make step with 'make clean', or undo the full installation with 'make distclean'.

Afterwards, you should test the installation by

    cd examples/test
    ./dstest

This takes about a minute to run and should end with

    ====================================
Summary of performed DarkSUSY tests
====================================
Number of errors reported by dstest_mssm: 0
Number of errors reported by dstest_silveira_zee: 0
Number of errors reported by dstest_genWIMP: 0
====================================
Problems ? Let us know!
[If there is a compilation problem with any of the contributed packages that you cannot fix, consider building a 'light' version of DarkSUSY (not making use of any contributed code): Fully uninstall with 'make distclean', followed by './configure' and 'make darksusy_light'. ]

A FORTRAN primer

Technically, DarkSUSY is a library of routines written in FORTRAN (mostly following FORTRAN77 standard, but this is not strictly enforced). In order to use it, some basic knowledge of FORTRAN is thus very helpful. If you have never used FORTRAN before, a good stepping stone before looking into DarkSUSY code might be to write your first little program by following the instructions in section 4.4 of this short intro. A next good step could be to look at a very brief overview of the basics of FORTRAN, but there are of course many more (and more detailed) online tutorials available. Most example programs are self-explanatory, however, such that using them does not require any of this.

First steps to explore DarkSUSY

A good starting point to explore the various use cases of DarkSUSY are the extensively documented main programs dsmain_wimp.F and dsmain_decay.F, located in the /examples folder. These programs also demonstrate how to use identical code for different particle modules.

For more dedicated application examples, there is also a significant collection of very instructive minimal example programs, located in the /examples/aux/ folder. Some of these are further illustrated in the Examples section.

More detailed information about how to use DarkSUSY is provided in the Documentation section. It may also be useful to take a look at a short recent tutorial (given at the TOOLS 2021 conference).