Pith. Sign in

REVIEW

specwizard: A Public Python Framework for Creating Synthetic Absorption Spectra from Hydrodynamical Simulations

Cosmology and Nongalactic Astrophysics · Submitted 14 Oct 2026 · 295 references

Pith's verdict: A solid, well-tested software paper that delivers a genuinely useful tool for making synthetic absorption spectra, with validation against real data.

T0 · AI review

How this review was made: An AI referee (deepseek/deepseek-v4-flash) read the paper on October 15, 2026 and answered a fixed list of questions about it. T0 is the starting level every paper gets. The levels describe how deeply Pith has checked the paper, never the authors.

  1. T0 AI review An AI read the paper and answered a fixed list of questions.
  2. T1 Audit Automatic checks that the references and files the paper relies on exist and match.
  3. T2 Compute The paper's code or calculations re-run with the same results.
  4. T3 Formal statement The claims written out in a formal math language a computer can read.
  5. T4 Proof Those claims proved, and the proof checked by computer.

How Pith checks papers →

· 5 minor · Ask about this paper · The compiled record · Read the full review →
Challenge this review Comment (0) Read on arXiv ↗
Cite ▾
arXiv ID2610.19862 (version 1)
Pith IDN2Z4Y5CD, Pith's permanent record of this paper and its review
CitationAlexey Boyarsky, Andr\'es Ar\'amburo-Garc\'ia, Joop Schaye, Tom Theuns. "specwizard: A Public Python Framework for Creating Synthetic Absorption Spectra from Hydrodynamical Simulations." arXiv:2610.19862 (2026). https://pith.science/paper/N2Z4Y5CD
Cite this reviewBibTeX for Pith's review of this paper
Claim paper

Why Pith says this

Highlight any text to comment on it.

Referee report
The paper

The paper claims

specwizard: a public Python framework generates synthetic quasar spectra from simulations that accurately match observed Lyman-alpha forest diagnostics, enabling inference of the ionizing background.

The reading

The paper presents specwizard, an open-source Python package for creating synthetic absorption spectra from hydrodynamical simulations. Using the EAGLE simulation as a test case, the authors show that specwizard accurately reproduces the observed mean transmission, transmission probability distribution function, and flux power spectrum of the Lyman-alpha forest from redshift 0 to 3.5. By leveraging EAGLE's agreement with the measured temperature-density relation, the code infers the evolution of the photoionization rate, which matches independent measurements and theoretical models. The framework is modular, supporting multiple ionizing backgrounds, all resonant transitions from NIST, and optional treatments of instrumental resolution and noise.

What carries the argument

The key machinery is specwizard's three-step pipeline: (1) ionization balance using pre-computed CLOUDY tables for multiple ionizing backgrounds; (2) particle projection using a column-density-conserving SPH interpolation scheme with a pre-tabulated cumulative kernel; (3) optical depth calculation via convolution of Gaussian optical depths with kernels for higher-order Lyman lines, natural broadening, and bound-free absorption, ensuring equivalent-width conservation.

Extended reading notes

Core claim

The central discovery is that specwizard, when applied to the EAGLE cosmological simulation, produces synthetic Lyman-alpha forest spectra that are statistically indistinguishable from high-quality observations over a wide redshift range. The code achieves this through a column-density-conserving SPH projection scheme and a convolution method for handling higher-order Lyman lines, damping wings, and continuum absorption. The agreement allows the authors to infer the evolution of the hydrogen photoionization rate Γ(z), finding that it rises sharply from z=0 to z=2 and remains nearly constant from z=2 to z=4, consistent with the Faucher-Giguère (2020) model.

Load-bearing premise

The optically thin ionization equilibrium computed by CLOUDY using a specified ionizing background accurately represents the true ionization state of the IGM and CGM gas in the simulation.

Editorial extensions

If this is right

  • specwizard enables direct comparison between cosmological simulations and high-resolution quasar spectra without ad hoc scaling.
  • The EAGLE simulation, with its subgrid feedback, reproduces Lyman-alpha forest statistics, validating its physical treatment of the intergalactic medium.
  • The inferred ionizing background evolution provides constraints on the sources of cosmic reionization.
  • The code can be used to study metal absorption lines and correlated absorption, such as H I and Si III.
  • specwizard's modularity allows testing different ionizing backgrounds and ionization models, including simulation-computed ion fractions.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Future applications with on-the-fly radiative transfer in simulations could test the optically thin assumption and improve accuracy for dense absorbers such as damped Lyman-alpha systems.
  • The mismatch at low redshift (z≈1) in the transmission PDF may point to missing physics in EAGLE or systematic errors in continuum fitting of the data.
  • specwizard could be extended to generate synthetic spectra for the helium Lyman series or for deuterium, enabling new cosmological probes.
  • The code's ability to handle all resonant transitions makes it suitable for studying metal enrichment of the intergalactic medium across cosmic time.
Original abstract

We present specwizard, a publicly available modular Python package for generating synthetic absorption spectra from hydrodynamical simulations. The code combines atomic data from the National Institute of Standards and Technology database with ionisation fractions computed using the cloudy spectral synthesis code for multiple ionising backgrounds, enabling consistent modelling of bound--bound and bound--free absorption for resonant transitions of all ions. specwizard employs a column-density--conserving projection scheme, includes natural line broadening for the Lyman series, and offers optional treatments of instrumental resolution and noise for direct comparison with high-resolution quasar spectra. As example applications of the code, we shoot sightlines through the eagle cosmological simulation to generate a z = 3.2 synthetic quasar spectrum containing H i Lyman-series transitions, including damping wings and Lyman-limit absorption. Additionally, we compute metal-absorption lines probing the circumgalactic medium of simulated galaxies, and investigate the correlated absorption of H i and Si iii. We demonstrate that specwizard applied to outputs from eagle accurately reproduces key observational diagnostics of the Lyman-alpha forest, including the redshift evolution of the mean transmission, the transmission PDF and the transmission power spectrum. We take advantage of the fact that the eagle simulation also reproduces the measured evolution of the temperature-density relation to infer the evolution of the amplitude of the ionizing background, finding excellent agreement with recent theoretical models and measurements.

The compiled record

The paper's own sentences, arranged, kept beside the review and separate from it. Each label is drawn from a closed vocabulary; the number beside it is the probability the classifier gave that label. Numbers in the tables are the authors', checked by code. No sentence in this record was written by a model.

Compiled by classifier-1.13.0 via TypeSafe API, question bank abstract-p1-20260923, 2026-10-15: 1 request, 5,186 input tokens.

What the abstract itself states, as probabilities: claims first 0.04 · states limitation 0.08 · human participants 0.02 · controlled comparison 0.09 · randomized assignment 0.01 · states quantitative result 0.51 · compares with prior results 0.83 · mentions code or data availability 0.97.

The abstract, sentence by sentence

arXiv listing abstract v1. Results and the main claim are underlined; .

We present specwizard, a publicly available modular Python package for generating synthetic absorption spectra from hydrodynamical simulations. The code combines atomic data from the National Institute of Standards and Technology database with ionisation fractions computed using the cloudy spectral synthesis code for multiple ionising backgrounds, enabling consistent modelling of bound--bound and bound--free absorption for resonant transitions of all ions. specwizard employs a column-density--conserving projection scheme, includes natural line broadening for the Lyman series, and offers optional treatments of instrumental resolution and noise for direct comparison with high-resolution quasar spectra. As example applications of the code, we shoot sightlines through the eagle cosmological simulation to generate a z = 3.2 synthetic quasar spectrum containing H i Lyman-series transitions, including damping wings and Lyman-limit absorption. Additionally, we compute metal-absorption lines probing the circumgalactic medium of simulated galaxies, and investigate the correlated absorption of H i and Si iii. We demonstrate that specwizard applied to outputs from eagle accurately reproduces key observational diagnostics of the Lyman-alpha forest, including the redshift evolution of the mean transmission, the transmission PDF and the transmission power spectrum. We take advantage of the fact that the eagle simulation also reproduces the measured evolution of the temperature-density relation to infer the evolution of the amplitude of the ionizing background, finding excellent agreement with recent theoretical models and measurements.

background contribution method result interpretation main claim

What the classifier reports for each sentence. The number is the probability it gave the label.
#sentencerolethe authors' own workstates the main conclusionstrength
s0 We present specwizard, a publicly available modular Python package for generating synthetic absorption spectra from hydrodynamical simulations. contribution 1.00 0.90 0.08 asserted 0.99
s1 The code combines atomic data from the National Institute of Standards and Technology database with ionisation fractions computed using the cloudy spectral synthesis code for multiple ionising backgrounds, enabling consistent modelling of bound--bound and bound--free absorption for resonant transitions of all ions. specwizard employs a column-density--conserving projection scheme, includes natural line broadening for the Lyman series, and offers optional treatments of instrumental resolution and noise for direct comparison with high-resolution quasar spectra. method 1.00 0.68 0.04 asserted 1.00
s2 As example applications of the code, we shoot sightlines through the eagle cosmological simulation to generate a z = 3.2 synthetic quasar spectrum containing H i Lyman-series transitions, including damping wings and Lyman-limit absorption. method 0.43 0.96 0.05 asserted 0.98
s3 Additionally, we compute metal-absorption lines probing the circumgalactic medium of simulated galaxies, and investigate the correlated absorption of H i and Si iii. contribution 0.91 0.96 0.04 asserted 0.97
s4 We demonstrate that specwizard applied to outputs from eagle accurately reproduces key observational diagnostics of the Lyman-alpha forest, including the redshift evolution of the mean transmission, the transmission PDF and the transmission power spectrum. result 0.99 0.96 0.41 asserted 1.00
s5 We take advantage of the fact that the eagle simulation also reproduces the measured evolution of the temperature-density relation to infer the evolution of the amplitude of the ionizing background, finding excellent agreement with recent theoretical models and measurements. result 0.69 0.94 0.28 asserted 1.00

What kind of paper the classifier reports this is: method or tool 1.00 · evidence from simulation or computation 1.00.

What was examined, and what was not

sources read
  • arXiv listing abstract v1
not examined
  • full text
  • figures and tables
  • references and citing sentences
  • relations to other papers
levels run
  • P abstract
not run
  • S sections
  • T body sentences
  • C citations
  • R cross-paper relations

Every quoted sentence on this record is the authors'. Every label is from Pith's closed vocabulary, with the probability shown beside it. Every number in the measurements table is the authors', checked by code. Record as JSON

Figures
Figure 1. Illustration of the cloudy set-up. performs these steps for the transition with the largest os￾cillator strength, and the results are saved for the sight line: we refer to this output as a ‘sight line’ or ‘short spectrum’. In addition, specwizard will compute and save optical depth￾weighted averages of physical quantities such as tempera￾ture and density. Such short spectra can be used to exam￾ine correlations between lines of different ions in the same gas cloud, or study the relations between optical depth and physical properties of the gas responsible for the absorption. In the…
Figure 2. Upper panel: ionisation fraction as a function of red￾shift, z, for ions H i (blue) and He ii (yellow). Solid lines use the ‘HM12’ ionisation tables computed using the ionising background computed by Haardt & Madau (2012), dotted lines connecting di￾amonds use the ‘PS20’ tables computed by Ploeckinger & Schaye (2020) which use a modified version of the ionising background of Faucher-Giguère (2020). In all cases, the gas is at the cosmic mean density and is at a temperature of T = 104K. The sharpish feature around z = 3.5 in the Faucher-Giguère (2020) calculation is due to the onset…
Figure 3. Cartoon of a line of sight (black vertical line) intersect￾ing an sph particle (red circle) that is located at position rj and has smoothing length hj . Zi is a pixel along the sightline, which runs from coordinate Zi → Zi+1. To implement the calculation of column densities, we compute the cumulative column density from Z = −∞ up to the end of each pixel, Eq. (6), as illustrated by the purple line labelled CW (b, Z). The column density for pixel i is CW (b, Zi+1) − CW (b, Zi). The interpolation scheme is illustrated in
Figure 4. Upper panel: The probability distribution function of overdensity by volume, Pv(∆), computed directly from all the particles (Pv,PD, red line, Eq. 9) and from the spectra (Pv,S, blue line, Eq.10) for the eagle simulation recalL0050N0752. Both PDFs are multiplied by ∆2.5 to decrease the dynamic range. Lower panel: ratio of the PDFs. At the lowest densities, Pv,SW > Pv,PD, whereas at the densities around the mean, log10 ∆ ∈ [−1, 1]), Pv,PD is about 10 per cent higher than Pv,SW . The calculation using spectra suffers from sample variance at the highest densities (we used 500 spectra).…
Figure 5. Example spectrum of an H i absorber with column density NHI = 1017.3cm−2 and thermal and turbulent broadening parameters of 12 km s−1 , as computed using the convolution method. The calculation accounts for 40,000 Lyman series lines, with individual line profiles plotted in orange, with short orange vertical lines indicating their central wavelength. All first 100 lines are shown, then we plot only every hundredth Lyman line up to Lyman 2,000. The red line is the net transmission of all 40,000 lines combined. The blue line is due to bound-free absorption, with the vertical blue…
Figure 6. Illustration of the implementation of the H i damping wing. The spectrum contains two dlas with parameters NHI = 1020.3 cm−2 , bD = 20 km s−1 and z = 3.07 and NHI = 1019.5 cm−2 , bD = 10 km s−1 and z = 3.11. The column density of all other pixels is set to zero. In the lower panel, we plot optical depth as a function of wavelength for the stronger dla, comparing our implementation using Eq. (22) (solid blue line) to the profile computed with the scipy function voigt_profile (blue diamonds); the dashed blue line is the Gaussian profile for this absorber. The small inset shows the…
Figure 7. Illustration of the implementation of Lyman-limit absorption. The spectrum contains two llss with parameters NHI = 1017.0 cm−2 , thermal broadening bD = 1 km s−1 and redshift z = 3.11 (red absorber) and NHI = 1017.5 cm−2 , thermal broadening bD = 50 km s−1 and redshift z = 3.09 (blue absorber). In the left panel, we plot the optical depth τ due to Lyman limit absorption for each absorber separately, with the dot-dashed line our calculation using Eq. (25), and the solid line showing τ = τσ = NHIσ(λ/(1 + z)), which is the Lyman-limit optical depth in the absence of thermal broadening.…
Figure 8. Evolution of the Lyman-α effective optical depth, τeff . Observational data from Kim et al. (2021) are shown as green dots and of Becker et al. (2013) as red triangles. The polynomial fit of Eq. (36) is shown as a blue line connecting diamonds, and the fit of Oñorbe et al. (2017) as a blue dash-dotted line. The simulated evolution, calculated using specwizard for the eagle simulation, is shown as the dark blue line. It is scaled to reproduce the poly￾nomial fit. The red, yellow and grey line show τeff when including lines up to log NHI[cm−2 ] of 14, 15 and 16: this shows that most…
Figure 10. Required scaling factor, ατ , for multiplying the H i optical depth to reproduce the polynomial fit to the evolution of τeff from
Figure 11. Probability distribution function (pdf) of the transmission in individual pixels, F = exp(−τ), with different panels showing different redshifts. Red symbols with error bars are observations from Kim et al. (2021). The blue curves are the results from the eagle simulation scaled to the evolution of the mean transmission from Eq. (36). Each panel is labelled with the mean observed redshift, zobs, and the redshift of the simulation snapshot nearest to it, zsim. The orange and green curves show the normalised simulation pdf’s when restricting the simulated spectra to lines with log…
Figure 12. Transmission pdf at a z ≈ 0.25, illustrating the de￾pendence of the pdf on the amplitude of the ionising background, Γ. Black symbols with error bars are observations at a mean ob￾served redshift of zobs = 0.25 from Kim et al. (2021), reproduced from
Figure 13. The Lyman-α-forest flux power spectrum at redshifts of z ≈ 2.5 (upper panel) and 3.6 (lower panel). Blue symbols with error bars are from high-resolution observations with hires on the keck telescope (Day et al. (2019)), golden symbols are from the boss lower-resolution spectra (Palanque-Delabrouille et al. (2013)). In both cases, zobs is the mean observed redshift. The large fluctuations in the blue curves at log k ≲ −1.5 are due to sample variance, whereas the spectral resolution of the sdss spec￾tra limits their k-range to log k ≲ −1.7. The red line is from the eagle L0100N1504…
Figure 14. Example of the transmission, exp(−τ), for several ions in a single sight line at z ≈ 3 from the eagle recalL0050N1504 simulation. The simulation is post-processed with radiative transfer and the sight line picked so that it intersects a region of high density (here, at v ≈ 2700 kms−1 , see text). Different panels show different ions, as labelled in the legend. The lower horizontal axis is the observed wavelength, the upper horizontal axis is the Doppler velocity, v. The lower panel combines the stretches of spectrum in a single mock spectrum, with the colours repeating those of the…
Figure 15. Example mock quasar spectrum for a redshift z ≈ 3.2 quasar. Panels from top to bottom show some lines from the Lyman series of H i (without damping wings), the H i damping wings and bound-free (Lyman-limit) absorption, absorption due to C iv, O vi and Si iv, and the absorption from all transitions combined. The spectrum contains the intervening dla at z ≈ 3 from
Figure 16. The feature in the absorption correlation function ξ(v), Eq. (38), arising from correlated H i-Si iii absorption. The small inset shows ξ(v) over a large velocity range, focussing on the peak at zero lag, v = 0, indicated by a short vertical dotted line. The blue line is ξ(v), the red line is the stretch of ξ around vSiIII where the H i-Si iii correlation generates a peak in ξ. The main panel focuses on ξ around v ∼ vSiIII, indicated by another short vertical dotted line. The red line is for a simulation where we arbitrarily set τSiIII/τHI = 10−3 everywhere. The cyan line is for…
Figure 17. Ensemble-averaged two-dimensional absorption around haloes of mass 1012M⊙ at z ≈ 3 in the L0100N1504 eagle simulation. The horizontal axis is the impact parameter of the sight line in proper units, the vertical axis is the Doppler velocity along the sight line, divided by the Hubble constant. The galaxies hosted by the halo has coordinates (0,0). Panels from left to right show the median H i (λ0 = 1215.67 Å), C iv (λ0 = 1548.19 Å) and Si iv (λ0 = 1393.76 Å) optical depth. Absorption is stretched in the vertical direction due to the peculiar velocity of the absorbing gas. by the…
Figure 18. Upper two panels: evolution of the parameters T0 (panel a) and γ (panel b) of the temperature-density relation, T = T0 (ρ/ρ¯) γ−1 . The simulated evolution is shown as the red line. Lower panel: panel (c) shows the evolution of the photo￾ionisation rate, Γ, inferred by comparing mock specwizard spec￾tra to Lyman-α-forest data, as a red line. In all panels, coloured curves and symbols show measurements from the literature, as per the caption above the figure, for panels (a) and (b), and in￾side the figure, for panel (c). See text for details and discussion. The dashed red line,…

Showing 17 of the paper's 18 figures. See all figures in the PDF ↗ Figures reproduced from arXiv:2610.19862 by the authors.

References

Discussion

Disagree with the review, or know something it missed? Leave a comment, highlight any passage above to comment on it, or challenge this review formally.