Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
37633b6
added halo mass depenent min_MUV to P(MUV|Mh) functions for calculati…
ebregou Feb 11, 2026
9eabc5d
fixed bug
ebregou Feb 11, 2026
76eedce
Implemented Rodriguez-Puebla 16 accretion
ebregou Apr 13, 2026
7b4ecce
minor formatting changes
ebregou Apr 13, 2026
216306e
v2.0 of zeus21!
EmilieThelie Apr 30, 2026
dec055d
Small fix.
EmilieThelie Apr 30, 2026
9478d6e
First pass at correlations.py
JulianBMunoz Apr 30, 2026
35bc3a9
Update inputs.py
JulianBMunoz Apr 30, 2026
3a8389a
Reionization added.
EmilieThelie Apr 30, 2026
ef8b3e9
Reionization added.
EmilieThelie Apr 30, 2026
97a4153
Update tests to v2.0 API; fix np.trapz->trapezoid and SFR_II/III call…
Copilot Apr 30, 2026
496f161
Add tqdm to requirements.txt to fix missing dependency in CI
JulianBMunoz May 1, 2026
3e83932
Update requirements.txt
JulianBMunoz May 1, 2026
fcfb714
Remove SFR_III debugging step from python-tests.yml
JulianBMunoz May 1, 2026
00b5baa
Fixes for LW calls
JulianBMunoz May 1, 2026
b14421c
Initial plan
Copilot May 1, 2026
3e0d882
Merge remote-tracking branch 'origin/zeus21_hack' into copilot/fix-un…
Copilot May 1, 2026
fb80ef4
Fix failing tests: update to new API, fix np.trapz, kmax_CLASS and _c…
Copilot May 1, 2026
77605a2
Updated LFs
JulianBMunoz May 1, 2026
3a9f4b1
Import z21_utilities in inputs.py
JulianBMunoz May 1, 2026
b2fe745
Merge branch 'zeus21_hack' into copilot/fix-unit-tests-zooc21
JulianBMunoz May 1, 2026
594df96
Update import path for UVLF functions
JulianBMunoz May 1, 2026
8213852
Update sfrd.py
JulianBMunoz May 1, 2026
519c583
Small fix in correlations.py.
EmilieThelie May 1, 2026
8c9ca03
Small fix for LFs.
EmilieThelie May 1, 2026
4db3b32
Update import path for UVLF functions
slibanore May 1, 2026
3256f2b
Maps included.
EmilieThelie May 1, 2026
ad343e3
Small fix.
EmilieThelie May 1, 2026
5c76131
Small fix in LF.
EmilieThelie May 1, 2026
1370555
Merge remote-tracking branch 'upstream/zeus21_hack' into Yung24_halo_…
ebregou May 6, 2026
9e24c70
Merge pull request #43 from ebregou/RP16_halo_accretion
JulianBMunoz May 6, 2026
04d1a71
Updated comments in User_Parameters.
EmilieThelie Jun 1, 2026
7bbeb82
Added comments in Cosmo_Parameters.
EmilieThelie Jun 1, 2026
b036611
Small fix.
EmilieThelie Jun 3, 2026
639ac47
Comments to Astro_Parameters and LF_Parameters.
EmilieThelie Jun 3, 2026
d931466
Changed the T21 maps class to what oLIMpus does.
EmilieThelie Jun 4, 2026
1897fed
added comments and documentation on cosmology.py
slibanore Jun 9, 2026
474a1f1
added redshift-time conversion functions to the cosmology.py file
slibanore Jun 9, 2026
e1c9c57
removed double function
slibanore Jun 9, 2026
b0ba8fa
added comments to sfrd
slibanore Jun 11, 2026
311f43c
added comments to T21_coeff
slibanore Jun 11, 2026
125edf5
Refactor docstrings for SED and Green's functions
JulianBMunoz Jun 12, 2026
f802861
Add normLHa_ZIMF and alphanormLHa_ZIMF parameters
JulianBMunoz Jun 12, 2026
908c8dc
Include method documentation
JulianBMunoz Jun 12, 2026
2d7c259
New Baryonic Power Spectra
hcruz1998 Jun 12, 2026
31537cb
New Baryonic Power Spectra
hcruz1998 Jun 12, 2026
bf88eab
Indented SED.py to make tests run
hcruz1998 Jun 12, 2026
80797b9
Updated Pop III 21-cm power spectra to include delta --> delta_b modi…
hcruz1998 Jun 12, 2026
4915114
Fixed typos and deleted acausal M_mol behavior, only used when compar…
hcruz1998 Jun 12, 2026
b452ff9
relabeled input "zmin_T21" into "zmin"
slibanore Jun 13, 2026
e01c6f9
typo correction in sfrd
slibanore Jun 14, 2026
84a9531
moved get_Pk_from_xi and get_list_PS in z21_utilities
slibanore Jun 14, 2026
512f29a
added check on flags in reionization_maps
slibanore Jun 15, 2026
e5d3ed4
corrected T21 power spectrum amplitude in maps computation
slibanore Jun 15, 2026
8f08a36
corrected amplitude in PdeltaT21 in maps
slibanore Jun 15, 2026
d606b0a
changed User_Parameters-->UserParams and Cosmo_Parameters-->CosmoParams
slibanore Jun 15, 2026
2dfc562
corrected typo in comment
slibanore Jun 15, 2026
1a0f585
corrected typo in comment
slibanore Jun 15, 2026
b36bdf5
corrected amplitude power spectra in maps
slibanore Jun 15, 2026
b2cbba4
fixed Z_Init and SFRD_Init initialization in T21coeff
slibanore Jun 16, 2026
bcaed03
Fixed Rs_min=0.5 in reionization.py
EmilieThelie Jun 16, 2026
b7ac480
Setting analytic_Q to have Rmin=Rs[0]
EmilieThelie Jun 16, 2026
9efb82e
Added comments in z21_utilities.
EmilieThelie Jun 16, 2026
dc0ef2d
Fixed tests (UVLFs still needs to be done).
EmilieThelie Jun 16, 2026
0c7bbaf
Fixed some tests and commented out some other.
EmilieThelie Jun 16, 2026
e73e906
Changed tests so VCB avg and sigmaVCB are now numbers between 0 and 1.
hcruz1998 Jun 16, 2026
fb6c230
Changed tests so VCB avg and sigmaVCB are now numbers between 0 and 10.
hcruz1998 Jun 16, 2026
e5406f3
Pop III ACH fixed in sfrd.py and implemented in LFs.py
Jun 17, 2026
e449ce4
Fix renamed UserParams.zmin after rebase
Jun 17, 2026
18704a4
maps T21: corrected use of the MASSW_PARTIAL and PARTIAL flags
slibanore Jun 17, 2026
74b73a3
Comments for reionization.py and maps.py
yonboyage Jun 17, 2026
a537f90
fixed comment on Salpha_exp
slibanore Jun 17, 2026
0110450
re-insert redshift_to_chi function
slibanore Jun 17, 2026
98a15dc
added function to smooth the T21 and xHI boxes (over single R)
slibanore Jun 18, 2026
08f84f2
fixed smoothed box in T21maps
slibanore Jun 18, 2026
5afa34c
fixed smoothing in t21 maps
slibanore Jun 18, 2026
45d41df
fixed smoothing on the T21 map -- to check z dimension
slibanore Jun 18, 2026
ce4c059
added smooth flag to maps computation
slibanore Jun 18, 2026
a0f0962
consistency with use_xHII_maps
slibanore Jun 18, 2026
c8a3080
in cosmology, added functions to compute z(chi) and chi(z) for the user
slibanore Jun 19, 2026
447f6e9
removed Hofzint since it was not computing H(z) and it is never used
slibanore Jun 28, 2026
1a60f66
Mhmin and Mhmax moved to input cosmo params and then assigned inside …
slibanore Jun 29, 2026
b625058
Updated 21-cm tutorial.
EmilieThelie Jun 30, 2026
e8c6578
Add names to headers and improved headers.
EmilieThelie Jun 30, 2026
a211177
Moved tutorials to a tutorials folder.
EmilieThelie Jun 30, 2026
3b26c74
Create readthedocs documentation.
EmilieThelie Jun 30, 2026
fd61c75
Minor comment + flag consolidation
yonboyage Jul 1, 2026
e7e6ef2
Replaced Mmol in-place operation so numpy broadcasting can work
hcruz1998 Jul 1, 2026
9dbcb59
Dark mode for the doc.
EmilieThelie Jul 2, 2026
a2f622d
Dark mode for the doc
EmilieThelie Jul 2, 2026
4923b0f
Best try at dark theme
EmilieThelie Jul 2, 2026
3fb9a70
Fix for dark-mode doc
EmilieThelie Jul 2, 2026
2c85855
Made a proper documentation!
EmilieThelie Jul 2, 2026
b3523e0
Fix for readthedocs.
EmilieThelie Jul 2, 2026
fb152d0
Fix for readthedocs.
EmilieThelie Jul 2, 2026
9fa9fdc
Fix for readthedocs.
EmilieThelie Jul 2, 2026
d3463da
Fix for readthedocs.
EmilieThelie Jul 2, 2026
fab81a2
Fix for readthedocs.
EmilieThelie Jul 2, 2026
68719fb
Fixes for the doc.
EmilieThelie Jul 3, 2026
ca48d49
Fixes for the doc.
EmilieThelie Jul 3, 2026
36234dc
Fixes for the docs.
EmilieThelie Jul 3, 2026
10455f7
Fixed calls to COMPUTE_MW_PARTIAL in T21maps
EmilieThelie Jul 3, 2026
20c188d
Fixed the doc.
EmilieThelie Jul 3, 2026
7f595e0
Fixes for the doc.
EmilieThelie Jul 3, 2026
8547917
modified T21_maps: now it always compute the T21 maps using the volum…
slibanore Jul 5, 2026
51e1af2
added flag COMPUTE_TAU in T21_maps
slibanore Jul 5, 2026
d3a9998
tau computation corrected in T21maps
slibanore Jul 5, 2026
1d575fc
typo fixed
slibanore Jul 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,7 @@ jobs:
- name: Install package
run: |
pip install -e .

- name: Debug SFR_III function
env:
CLASSDIR: ${{ github.workspace }}/class_public
run: |
python -c "import zeus21; from zeus21.sfrd import SFR_III; import inspect; print('SFR_III parameters:', inspect.signature(SFR_III)); print('Parameter count:', len(inspect.signature(SFR_III).parameters))"


- name: Run tests with coverage
env:
CLASSDIR: ${{ github.workspace }}/class_public
Expand All @@ -64,4 +58,4 @@ jobs:
flags: unittests
name: codecov-umbrella
verbose: true
fail_ci_if_error: false
fail_ci_if_error: false
21 changes: 21 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

build:
os: ubuntu-24.04
tools:
python: "3.12"

python:
install:
- requirements: requirements.txt
- method: pip
path: .
11 changes: 11 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
=======
Authors
=======

* Julian B. Muñoz - `github.com/JulianBMunoz <https://github.com/JulianBMunoz>`_
* Hector Afonso G. Cruz `github.com/hcruz1998 <https://github.com/hcruz1998>`_
* Yonny Sklansky - `github.com/yonboyage <https://github.com/yonboyage>`_
* Emilie Thélie - `github.com/EmilieThelie <https://github.com/EmilieThelie>`_
* Sarah Libanore - `github.com/slibanore <https://github.com/slibanore>`_
* Emily Bregou - `github.com/ebregou <https://github.com/ebregou>`_
* Alessandra Venditti - `github.com/alessandra-venditti <https://github.com/alessandra-venditti>`_
59 changes: 4 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<p align="center">
<img src="docs/Zeus21Logo-Horizontal.jpg" width=75% height=75%>
<img src="docs/images/Zeus21Logo-Horizontal.jpg" width=75% height=75%>
</p>

# Zeus21: Lightning-fast simulations of cosmic dawn

# Zeus21: Lightning-fast simulations of cosmic dawn and reionization

[![Tests](https://github.com/JulianBMunoz/Zeus21/actions/workflows/python-tests.yml/badge.svg)](https://github.com/JulianBMunoz/Zeus21/actions/workflows/python-tests.yml)
[![codecov](https://codecov.io/gh/JulianBMunoz/Zeus21/branch/main/graph/badge.svg)](https://codecov.io/gh/JulianBMunoz/Zeus21)
Expand All @@ -11,57 +12,5 @@ Zeus21 encodes the effective model for the 21-cm power spectrum and global signa

Zeus21 (Zippy Early-Universe Solver for 21-cm) pairs well with data from [HERA](https://reionization.org/), but can be used for any 21-cm inference or prediction. Current capabilities include finding the 21-cm power spectrum (at a broad range of k and z), the global signal, IGM temperatures (Tk, Ts, Tcolor), neutral fraction xHI, Lyman-alpha fluxes, and the evolution of the SFRD; all across cosmic dawn z=5-35. Zeus21 can use three different astrophysical models, one of which emulates 21cmFAST, and can vary the cosmology through CLASS.

If you want to get started I recommend checking the Jupyter tutorials in `docs/`. Full documentation in [ReadTheDocs](https://zeus21.readthedocs.io/en/latest/), more coming soon. Here is an example power spectrum (at k=0.3/Mpc) and global signal as a function of redshift, for two cases of X-ray luminosity. You can run it yourself with the tutorial included!

<p align="center">
<img src="docs/PspecandGlobal_Zeus21.png" width=50% height=50%>
</p>

Currently you can find tutorials for:

<ul>
<li>Basics, running and plotting 21-cm power spectra and global signals. </li>
<li>UVLFs, comparing to HST and JWST predictions at high redshifts. </li>
<li>PopIII stars, and how they affect the cosmic-dawn 21-cm signal. </li>
</ul>

## Installation

You can download and install this package by doing:

```
git clone https://github.com/julianbmunoz/zeus21.git zeus21
cd zeus21/
pip install .
```

that should take care of all dependencies (remember to work in your favorite conda env). If you have issues with cache'd versions of packages you can add `--no-cache-dir` at the end of `pip install .`.

**NOTE:** You may run into problems when pip-installing `classy` (the Python wrapper of `CLASS`). If so, their installation guide is [here](https://github.com/lesgourg/class_public/wiki/Installation), but in short the steps are:

```
git clone https://github.com/lesgourg/class_public.git class
cd class/
make
cd python/
python setup.py install --user
```

(modifying the Makefile to your `gcc` as needed)

## Citation

If you find this code useful please cite:

[An Effective Model for the Cosmic-Dawn 21-cm Signal](https://arxiv.org/abs/2302.08506)

and include a link to [this Github](https://github.com/JulianBMunoz/Zeus21).

If you use the UVLF module please cite:

[Breaking degeneracies in the first galaxies with clustering](https://arxiv.org/abs/2306.09403)

And if you use relative velocites, Lyman-Werner feedback, or Population III stars please cite:

[The First Billion Years in Seconds: An Effective Model for the 21-cm Signal with Population III Stars](https://arxiv.org/abs/2407.18294).
Full **documentation** (with [installation instructions](https://zeus21.readthedocs.io/en/latest/installation.html), [tutorials](https://zeus21.readthedocs.io/en/latest/tutorials.html), and [full api description](https://zeus21.readthedocs.io/en/latest/api/modules.html)) can be found on [ReadTheDocs](https://zeus21.readthedocs.io/en/latest/).

1 change: 0 additions & 1 deletion docs/README.md

This file was deleted.

422 changes: 0 additions & 422 deletions docs/Tutorial_Zeus21_Basics.ipynb

This file was deleted.

Loading