$> pip install virtualenv
$> python -m virtualenv venv2.7
$> . venv2.7/bin/activate
$> git clone git@cosmo-gitlab.phys.ethz.ch:cosmo/darkskysync.git
$> cd darkskysync
$> pip install -r requirements.txt
$> pip install -e .
$> make test
$> git clone git@cosmo-gitlab.phys.ethz.ch:cosmo/PyCosmo.git
$> cd PyCosmo
$> pip install -r requirements.txt
$> pip install -e .
$> make test
$> git clone git@cosmo-gitlab.phys.ethz.ch:cosmo/cpod.git
$> cd cpod/cpod
$> pip install -r requirements.txt
$> pip install -e .
$> make test
Download HDF5 the latest version for MUSIC and the version 1.4.4 for Gadget2.
$> gzip --decompress hdf5-1.x.x.tar.gz
$> tar -xvf hdf5-1.x.x.tar
$> cd hdf5-1.x.x
$> mkdir build
$> cd build
Find out the path to mpicc and use it for configuration
$> which mpicc
/usr/bin/mpicc
$> CC=/usr/bin/mpicc ../configure --enable-parallel --prefix=/usr/local/hdf5/1.x.x
$> make
$> make check
Make check may fail at testing cache-api. Continue to install, depending on the installation directory, you might need to be root or use sudo.
$> make install
Download fftw3 for MUSIC and fftw2 for Gadget2.
$> tar -xzvf fftw-x.x.x.tar.gz
$> cd fftw-x.x.x
$> mkdir build
$> cd build
If you want to install double and single precision.
$> ../configure --enable-type-prefix --enable-threads --enable-mpi --prefix=/usr/local/fftw/x.x.x
$> make
$> make install
$> make clean
$> ../configure --enable-float --enable-type-prefix --enable-threads --enable-mpi --prefix=/usr/local/fftw/x.x.x
$> make
$> make install
$> sudo apt-get libgsl2
or
$> module load gsl
$> module load open_mpi
Download Music ZIP file and refer installation in user guide from https://www-n.oca.eu/ohahn/MUSIC/. Requirements: hdf5-1.10.1, fftw-3.3.7, mpi, gsl
$> cd <installdir>/ohahn-music-12e7b54e7512
Edit Makefile: modify the path to libraries
$> emacs Makefile
##############################################################################
### compile time configuration options
FFTW3 = yes
MULTITHREADFFTW = yes
SINGLEPRECISION = no
HAVEHDF5 = yes
HAVEBOXLIB = no
BOXLIB_HOME = ${HOME}/nyx_tot_sterben/BoxLib
##############################################################################
### compiler and path settings
CC = mpic++
OPT = -Wall -Wno-unknown-pragmas -O3 -g -mtune=native
CFLAGS =
LFLAGS = -lgsl -lgslcblas
CPATHS = -I. -I$(HOME)/local/include -I/opt/local/include -I/usr/local/include -I/usr/local/hdf5/1.10.1/include -I/usr/local/fftw/3.3.7/include -I/usr/include/mpich
LPATHS = -L$(HOME)/local/lib -L/opt/local/lib -L/usr/lib -L/usr/local/hdf5/1.10.1/lib -L/usr/local/lib -L/usr/local/fftw/3.3.7/lib
Then,
$> make
Download gadget2 from http://wwwmpa.mpa-garching.mpg.de/gadget/. Requirements: hdf5-1.6.9, fftw-2.1.5, sfftw-dev, gsl
$> cd <installdir>/Gadget2
$> emacs Makefile
Modify options and path to libraries
#--------------------------------------- Basic operation mode of code
OPT += -DPERIODIC
OPT += -DUNEQUALSOFTENINGS
#--------------------------------------- Things that are always recommended
OPT += -DPEANOHILBERT
OPT += -DWALLCLOCK
#--------------------------------------- TreePM Options
OPT += -DPMGRID=128
#--------------------------------------- Single/Double Precision
OPT += -DDOUBLEPRECISION_FFTW
#--------------------------------------- Time integration options
OPT += -DSYNCHRONIZATION
.
.
.
ifeq ($(SYSTYPE),"MPA")
CC = mpicc
OPTIMIZE = -O3 -Wall
GSL_INCL = -I/usr/include/gsl
GSL_LIBS = -L/usr/lib/x86_64-linux-gnu -Wl,"-R /usr/lib/x86_64-linux-gnu"
FFTW_INCL= -I/usr/local/fftw/2.1.5/include
FFTW_LIBS= -L/usr/local/fftw/2.1.5/lib
MPICHLIB = -L/usr/lib/mpich/lib
HDF5INCL = -I/usr/local/hdf5/1.6.9/include
HDF5LIB = -L/usr/local/hdf5/1.6.9/lib -lhdf5 -lz
endif
Then,
$> make