Code for producing realistic simulations of the CMB with noise and lensing capabilities.
This code relies on camb
to generate power spectra and (optionally) namaster
to simulate CMB temperature maps.
We provide an environment specification file for conda
or mamba
users at conda-env.yml
. With conda
, an environment is created with conda env create -f conda-env.yml
. With micromamba
the env
is omitted and a new environment is instead created with micromamba create -f conda-env.yml
. If you have a newer Mac with Apple Silicon (eg, M1 or M2 chip) you may have issues with namaster
(which is an extra). If you use conda
or mamba
for managing packages, you will need to follow the trick described here. For example, with the yml
file provided, the entire command to create the new environment on Apple Silicon with micromamba is CONDA_SUBDIR=osx-64 micromamba create -f conda-env.yml
. As far as we are aware, this is only an issue on new Macs, and will only arise for users who wish to include mapping functionality in the package.
From the top-level directory, you can do pip install .
for a normal install, or pip install . pymaster
to include pymaster.
The core functions are in CAMBPowerSpectrum
in the camb_power_spectrum
module, which relies on an instance of the config_obj
class from the params_io
module
The usage of the code is documented in notebooks/simcmb_example.ipynb
, and a simple bash script that you can modify for your own purposes is given in simcmb/simcmb.py
If you use this code in your research, please cite our JOSS paper. Please also make use of the citation instructions for camb
provided here.
If you would like to contribute, please open a new issue, and/or be in touch with the authors
The code was developed by Samuel D. McDermott and is maintained by the DeepSkies lab