Tested with the following modules:
- Package -----------------------------+- Versions -+- Last mod. ------
gcc/4.9.0 2014/07/03 4:40:12
openmpi/4.0.0 2019/01/30 4:13:57
cmake/3.14.4 2019/05/16 23:37:18
gsl/2.5 2018/06/21 0:53:02
fftw3/3.3.8 2018/12/14 3:21:18
hdf5/1.10.2p 2018/04/30 0:01:31
cd src
mkdir build
cd build
CMAKE_PREFIX_PATH=/apps/openmpi/4.0.1 cmake ..
make
N.B. For some reason the
mpicc
wrapper does not give include dir info so settingCMAKE_PREFIX_PATH
is required.
If all goes to plan, the meraxes
executable can be found in ./bin/
, and a pre-filled input.par
file can be found in the current directory.
To do the domain decompostion (based on tree-forests), Meraxes requires some extra input files to be generated. The code further assumes a standard layout for the input trees. An example is:
Genesis-L35_N2650
├── a_list.txt
├── grids
└── trees
├── meraxes_augmented_stats.h5
└── VELOCIraptor.tree.t4.0-100.walkabletree.forestID.hdf5
These can be symlinks where appropriate. The grids
directory need not exist if you do not want to run with patchy reionisation on. The VELOCIraptor[...]
file must be a version which includes forest IDs but can have any filename. The code to generate the a_list.txt
and meraxes_augmented_stats.h5
files can be found here. It should install straightforwardly with pip
(🤞).
Once this input N-body directory has been set up, a new input file needs to be created... Go to the meraxes/input
directory and find the simulation closest to the new one and copy this, naming the new file appropriately. Then edit any fields to match the new simulation. Particularly note the following parameters:
FileNameGalaxies
SimName
SimulationDir
CatalogFilePrefix
BoxSize
- ... and all of the cosmology parameters at the bottom of the file
The easiest method is to go to the src
directory and then run the following:
RUNDIR={path to your run} make setuprun
This will create the run directory if it doesn't already exist, and then copy across the necessary files for the run.
The next step is to go to the run directory and then modify the input.par
file appropriately. In particular, make sure it is pointing to the correct DefaultsFile
(i.e. the one you just created above). You can then override any parameters from the defaults file here. i.e. you can set the star formation efficiency to a new value with SfEfficiency : 0.04
. There should be one parameter set per line, just as in the defaults file.
The snaplist.txt
file contains a list of all of the snapshots which you want to be outputted. The format is a single line with each entry separated by a space. A quick way to update this file is to use the seq
command. e.g. if you want all snapshots from 20 to 100:
seq -s ' ' 20 100 > snaplist.txt
That's it! Now the model should run using mpirun
/mpiexec
...