Skip to content

Effective Zel'dovich approximation mock generator

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENSE.txt
MIT
LICENSE_MIT.txt
Notifications You must be signed in to change notification settings

cheng-zhao/EZmock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZmock

GitHub Codacy grade

Table of Contents

Introduction

Effective Zel'dovich approximation mock generator (EZmock[1]) is a technique for constructing approximate mock catalogues for large-scale structures of the Universe. It relies on the Zel'dovich approximation to generate the dark matter density field at a desired redshift, and then populates tracers (e.g., galaxies and quasars) based on an effective bias description. The product is also dubbed “EZmock” (plural: EZmocks).

EZmock is among the fastest methods that are able to reproduce the clustering of dark matter haloes from an N-body simulation with ≲ 5% precision down to the scale of k ∼ 0.4 h Mpc−1 (see [2] for a comparison of mock generation methods). It was used to produce the 1000 multi-tracer mock catalogues for the final extended Baryon Oscillation Spectroscopic Survey (eBOSS) data release[3].

This repository consists of 3 interfaces of the EZmock algorithm:

  • A C library with APIs for the construction of EZmocks;
  • A python package that wraps the C library functions;
  • A C program that generates EZmocks using the core library functions.

All the interfaces are parallelised with the shared-memory Open Multi-Processing (OpenMP), and rely on the FFTW library for Fast Fourier Transforms (FFT). The C codes are compliant with the ISO C99 and IEEE POSIX.1-2008 standards. The software packages are written by Cheng Zhao (赵成) based on the initial fortran version developed by Dr. Chia-Hsun Chuang.

As a whole, the software packages in this repository are released under the GPLv3 license, due to its reliance on the FFTW library, though many of the source files are distributed under the MIT license, as indicated in their header lines. If you use this tool in research work that results in publications, please cite the papers [1] and [3].

Compilation

The building of the C interfaces of EZmock is based on the make utility. Customisable compilation options can be set in the file options.mk.

Once the setting is done, the following command should compile the C program and the C library:

make

Alternatively, different interfaces can be compiled via:

make EZmock        # compile the C program
make libEZmock.so  # compile the dynamic C library
make libEZmock.a   # compile the static C library

Once the C library is compiled, it can be installed at the specific location with

make install

The following commands clear the compiled files:

make clean     # clear the C program
make cleanlib  # clear the C libraries
make cleanall  # clean everything

If the C libraries are installed in the root directory of this repository, the python package can be built in the python folder via

python setup.py build_ext -i

Do not forget to add the path with libEZmock.so to your environment variable LD_LIBRARY_PATH before importing the python package.

References

[1] Chuang C.-H., Kitaura F.-S., Prada F., Zhao C., Yepes G., 2015, EZmocks: extending the Zel'dovich approximation to generate mock galaxy catalogues with accurate clustering statistics, MNRAS, 446(3), 2621–2628. [arXiv:1409.1124] [ADS Abstract]

[2] Chuang C.-H., et al., 2015, nIFTy cosmology: Galaxy/halo mock catalogue comparison project on clustering statistics, MNRAS, 452(1), 686–700. [arXiv:1412.7729] [ADS Abstract]

[3] Zhao C., et al., 2021, The completed SDSS-IV extended Baryon Oscillation Spectroscopic Survey: 1000 multi-tracer mock catalogues with redshift evolution and systematics for galaxies and quasars of the final data release, MNRAS, 503(1), 1149–1173. [arXiv:2007.08997] [ADS Abstract]

About

Effective Zel'dovich approximation mock generator

Resources

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENSE.txt
MIT
LICENSE_MIT.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages