pyKurucz: A Pure Python Reimplementation of Kurucz ATLAS12 and SYNTHE for Stellar Spectrum Synthesis

Abstract

pyKurucz is a pure Python reimplementation of Kurucz's ATLAS12 and SYNTHE, the standard code tools for computing synthetic stellar spectra. The original Fortran codes, written decades ago in a legacy dialect, are difficult to compile with modern toolchains without significant manual patching, and their long-term maintenance is uncertain following the passing of Robert L. Kurucz in 2025. pyKurucz delivers a complete, line-by-line Python translation of both engines, entirely removing the need for Fortran. Powered by NumPy, SciPy, and Numba, it combines the full ATLAS12 iteration loop (with direct opacity sampling and convection) with comprehensive physical treatments, from Saha-Boltzmann populations and molecular equilibrium to radiative transfer and advanced line broadening. Validated against the original across 100 atmosphere models spanning 2500 K cool giants to 44,000 K O stars over 300-1800 nm at resolving power R = 300,000, it achieves sub-0.01% median agreement. The pure Python implementation enables direct integration with machine learning workflows and large-scale survey pipelines, while preserving an archival reference implementation of both ATLAS12 and SYNTHE in a modern, readable language.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…