maho3 / ltu-gobig

1 stars 0 forks source link

Investigate pinnochio and ezmock #18

Closed maho3 closed 4 months ago

maho3 commented 7 months ago

This task is to investigate the following mock generation codes for their possible utility as a baseline for Go Big:

These are used in Euclid and DESI (?), respectively. We should figure out to what halo resolution they resolve, and how fast they are relative to PM simulations.

DeaglanBartlett commented 6 months ago

To build pinnochio on infinity, first load openmpi

module load openmpi/5.0.3-gnu

After cloning pinnochio from https://github.com/pigimonaco/Pinocchio, edit the Makefile to be compatible with infinity:

ifeq ($(SYSTYPE),"infinity")
CC          =  mpicc
CDEBUG      = -ggdb3 -Wall
COPTIMIZED  = -O3 -Wno-unused-result
FFTW_LIBR   = -L/softs/fftw3/3.3.10-gnu-mpi/lib -lfftw3_mpi -lfftw3
FFTW_INCL   = -I/softs/fftw3/3.3.10-gnu-mpi/include
MPI_LIBR    = -L/softs/openmpi/5.0.3-gnu/include
MPI_INCL    =
GSL_LIBR    = -lgsl -lgslcblas -lm
GSL_INCL    = -I/usr/include
endif

Also change the SYSTYPE argument to be "infinity" and ensure the "-DWHITENOISE" option is enabled. Building with make clean; make should then work. Before running the executable pinnochio.x, you must also run

export LD_LIBRARY_PATH=/softs/fftw3/3.3.10-gnu-mpi/lib:$LD_LIBRARY_PATH

to enable pinnochio to access the fftw3_mpi library.

maho3 commented 4 months ago

Pinocchio implemented.