Getting Started¶
Pre-Requisites¶
SAGE should compile on most systems out of the box and the only required tool is a C99 compiler. GSL is recommended but not necessary.
Downloading¶
SAGE can be installed by cloning the GitHub repository:
$ git clone https://github.com/sage-home/sage-model
$ cd sage-model/
Building¶
To create the SAGE executable, simply run the following command:
$ make
SAGE is MPI compatible which can be enabled setting USE-MPI = yes in
the Makefile. To run in parallel, ensure that you have a installed an MPI distribution (OpenMPI, MPICH, Intel MPI etc).
When compiling with MPI support, the Makefile expects that the MPI compiler is called mpicc and is configured appropriately.
HDF5 Support¶
SAGE supports reading and writing in `HDF5`_. We recommend writing your output data in HDF5 for ease-of-use. To easily handle your HDF5 installation, we also recommend using Conda.
$ conda install -q --yes -c conda-forge hdf5
HDF5 support can be enabled by setting USE-HDF5 = yes in the Makefile.
Adjust the tree_type and OutputFormat in your SAGE parameter file
to allow reading/writing of HDF5 files.
Example Usage¶
SAGE runs on dark matter halo merger trees constructed in a vertical format.
The trees for the Mini-Millennium dark matter simulation (a smaller box size
version of the Millennium simulation with identical mass resolution) can be
retrieved by executing the first_run.sh script from within the
sage-model directory. This will create the necessary file structure and parameter
file required for running SAGE.
$ ./first_run.sh
After this, the model can be run using:
$ ./sage input/millennium.par
or in parallel as:
$ mpirun -np <NUMBER_PROCESSORS> ./sage input/millennium.par