This is a repository containing utilities for working with the pop-cosmos galaxy population model.
The pop-cosmos model was first introduced and trained by Alsing et al. (2024). The use of this population model as a prior in SED fitting is described in Thorp et al. (2024).
The code and models in this repository are based on the updates described in Thorp et al. (2025). If you make use of this code, please cite all of these papers. If you use the Speculator photometry emulators included in this repository, please also cite Alsing et al. (2020). If you use the rest-frame
The documentation is in the docs directory and the docstrings within the code. The pop_cosmos module contains the code, and the trained_models directory contains binary files with the trained models.
To install the code, please clone this repo:
git clone https://github.com/Cosmo-Pop/pop-cosmosThen move into the top level directory and run:
pip install .This will obtain any dependencies and will install the code, which can then be imported in Python by doing:
import pop_cosmosTo install pop_cosmos without updating the dependencies:
pip install poetry
poetry install --no-updateAlternatively (Recommended):
pip install --upgrade-strategy only-if-needed .See the demo directory for example notebooks.
To check the documentation for the code, please check the docs directory.
You can find the pre-generated COSMOS-like mock galaxy catalogs described in Thorp et al. (2025) and Deger et al. (2025) on Zenodo. The most up-to-date versions of these will always be linked from DOI:10.5281/zenodo.15622324. Our most up-to-date SPS parameter posteriors for COSMOS2020 will always be linked from DOI:10.5281/zenodo.13627488. The Thorp et al. (2025) results correspond to v2 (latest v2.2.0) of the Zenodo record. The Thorp et al. (2024) results are preserved in v1 (latest v1.3.0) of the Zenodo record.
The GitHub links above contain some related software packages that may be useful. The package speculator is a dependency of pop_cosmos, and affine is an optional dependency if you want to run MCMC under the pop_cosmos prior. The hist_contour and quantile_utilities repos contain some auxilliary scripts for plotting.