Software

I develop software for cosmological simulations, large-scale structure analysis and scientific computing. The packages highlighted below range from public research codes to tools currently under active development. A more complete list is available on my GitHub profile.

Featured software

Hi-COLA

A fast N-body simulation code for modelling nonlinear structure formation in Horndeski gravity. Hi-COLA connects user-defined scalar–tensor theories to calculations of the cosmological background, linear growth, modified gravitational forces and screening.

I lead the development of Hi-COLA v2, a major redevelopment of the original code that supports the simulation and statistical inference of a broader region of Horndeski parameter space.

Hi-COLA v1: GitHub · Paper
Hi-COLA v2: In active development

MiSTree

A public Python package for constructing and analysing minimum spanning trees. MiSTree provides efficient methods for measuring the lengths, shapes and connectivity of structures within astronomical and other point distributions.

MiSTree was published in the Journal of Open Source Software and can be installed through PyPI.

GitHub · Documentation · JOSS paper · PyPI

MIMIC

A framework for constructing constrained cosmological initial conditions with scale-dependent growth. MIMIC has been used to generate constrained simulations of the local Universe in ΛCDM, f(R) and nDGP gravity.

GitHub · Paper

Cosmological analysis

CACTUS

The Cosmic-web Analysis and Classification Toolkit for Unveiling Structure provides methods for identifying voids, walls, filaments and clusters in cosmological simulations using classifiers including the T-Web, V-Web and NEXUS+.

In development

pyGenISW

A Python package for calculating the integrated Sachs–Wolfe effect from density fields supplied in HEALPix redshift slices.

GitHub · Paper

TheoryCL

A code for calculating auto- and cross-angular power spectra for late-Universe cosmological tracers.

GitHub

Numerical and data infrastructure

FIESTA

A field-estimation package for reconstructing continuous fields from discrete particle or point distributions. It includes particle-mass-assignment schemes, smoothed-particle hydrodynamics and Delaunay-based interpolation.

GitHub · Documentation · PyPI

SHIFT

A scalable Python and MPI interface for fast Fourier transforms. SHIFT provides numerical infrastructure for distributed cosmological simulations and large-scale data analysis.

GitHub · Documentation · PyPI

SkySegmentor

A Python package for dividing HEALPix maps or points on the celestial sphere into approximately equal-sized regions using binary space partitioning. It is designed for applications including jackknife covariance estimation and the subdivision of irregular survey footprints.

GitHub · Documentation · PyPI · Paper

Earlier software

MAGPIE

A Python package for remapping one-, two- and three-dimensional bins between coordinate systems and for handling point distributions and random catalogues.

GitHub

Additional experimental and project-specific codes are available through my GitHub profile.