Skip to content

A python package for making arbitrarily structured, arbitrary-dimension boxes


Notifications You must be signed in to change notification settings


Repository files navigation


Make arbitrarily structured, arbitrary-dimension boxes and log-normal mocks.

powerbox is a pure-python code for creating density grids (or boxes) that have an arbitrary two-point distribution (i.e. power spectrum). Primary motivations for creating the code were the simple creation of log-normal mock galaxy distributions, but the methodology can be used for other applications.


  • Works in any number of dimensions.
  • Really simple.
  • Arbitrary isotropic power-spectra.
  • Create Gaussian or Log-Normal fields
  • Create discrete samples following the field, assuming it describes an over-density.
  • Measure power spectra of output fields to ensure consistency.
  • Seamlessly uses pyFFTW if available for ~double the speed.


Simply pip install powerbox. If you want ~2x speedup for large boxes, you can also install pyfftw by doing pip install powerbox[all]. If you are a conda user, you may want to install numpy with conda first. If you want to develop powerbox, clone the repo and install with python -m pip install -e ".[dev]".


If you find powerbox useful in your research, please cite the Journal of Open Source Software paper at