Chroma+ Suite: Integrated Stellar Modeling
- Chroma+ Suite is a cross-platform, fast stellar atmosphere and spectrum modeling toolkit that supports parameter perturbation and differential comparisons.
- It employs multi-language implementations in Python, Java, and JavaScript to simulate radiative transfer, chemical equilibrium, and generate synthetic observables including transit light curves.
- Its modular design enables efficient exploratory research, teaching, and rapid spectral reconnaissance while balancing computational speed with physical accuracy.
Chroma+ Suite is a suite of stellar atmosphere and spectrum modelling codes for fast, approximate, effectively platform-independent stellar spectrum synthesis. Across its documented variants, it models stellar atmospheric structure, emergent surface intensities and fluxes, synthetic spectra, synthetic photometry, and exoplanet transit light curves, and it has been extended with an expedited chemical-equilibrium/equation-of-state solver, a VALD-based atomic line-list workflow, and a spherical formal solution for radiative transfer and hydrostatic equilibrium. The suite is implemented in multiple free, well-supported languages, notably Python, Java, and JavaScript, and is distributed through the OpenStars site at www.ap.smu.ca/OpenStars; several papers also identify GitHub access and a Zenodo record for ChromaStarPy (Short, 2023, Short, 6 Oct 2025).
1. Identity, scope, and software family
Chroma+ is presented as an integrated modelling environment for stellar atmospheric modelling, spectrum synthesis, and transit light-curve modelling. Its role is not that of a fully self-consistent, maximally detailed atmosphere code of the PHOENIX/S3R2T or SATLAS class, but rather a fast, approximate framework suitable for interactive modelling, parameter perturbation, differential comparisons, and some research uses where speed and accessibility matter (Short, 6 Oct 2025).
The documented software family includes several named implementations and variants. ChromaStarPy (CSPy or CsPY) is the Python implementation intended for fast modelling and analysis in a Python IDE. ChromaStarServer (CSS) is the Java implementation used prominently for broadband high-resolution visible-spectrum synthesis and slurm array-job execution. JavaScript implementations are also part of the suite’s effectively platform-independent design. ChromaStarAtlas is a variant in which the occulted intensity distribution is interpolated from the public ATLAS9 fully line-blanketed surface intensity distributions of Castelli & Kurucz (2006), rather than generated only from the internal atmospheric solution (Short, 2020, Short, 2023).
The suite’s core parameterization includes stellar atmosphere inputs such as
so the codes support modelling as a function of effective temperature, gravity, abundance, and microturbulence (Short, 2020). In later versions, stellar mass becomes an explicit input parameter for spherical geometry, and a Boolean ifSphere switch selects spherical or plane-parallel formal solutions (Short, 6 Oct 2025).
A recurrent theme in the suite’s papers is accessibility without abandoning physical structure. The suite is described as a “numerical laboratory” for stellar spectroscopy, useful for teaching, exploratory modelling, spectral reconnaissance, and physically motivated comparisons with observed data. This suggests that Chroma+ occupies an intermediate position between pedagogical software and heavier research codes: it is intended to be responsive and portable, but still grounded in radiative transfer, opacity modelling, and synthetic observables (Short, 2023, Short, 6 Oct 2025).
2. Atmospheric model, radiative transfer, and numerical philosophy
The baseline atmospheric model described for Chroma+ is static, 1D, horizontally homogeneous, plane-parallel. In this framework the suite computes the emergent monochromatic specific intensity
and associated fluxes and synthetic photometry (Short, 2020). The spectral grid spans the UV to IR with equal spacing, supplemented by additional wavelength points for spectral lines, and the angular discretization of emergent intensities uses a Gauss-Legendre quadrature in (Short, 2020).
The suite computes or organizes a broad set of atmospheric quantities, including total hydrostatic pressure structure , gas pressure , electron pressure , radiation pressure , opacity structure 0 and 1, equation of state, ionization and molecular equilibria, and synthetic spectra (Short, 6 Oct 2025). Its numerical philosophy is deliberately economical. A central shortcut is that the kinetic-temperature structure 2, along with initial pressure guesses, is scaled from a suitable Phoenix V.15 model rather than obtained from an internal convergence of the full line-blanketed radiative-equilibrium problem (Short, 6 Oct 2025).
For opacity and spectrum synthesis, Chroma+ combines continuum opacity with atomic line opacity and molecular opacity. The monochromatic extinction distribution is denoted
3
and line inclusion is screened through a line-center test
4
evaluated at three reference 5 values (Short, 2023). For each accepted line, the code constructs a line-specific wavelength grid around 6, distributes the line profile 7 over that grid, and inserts the resulting points into a master wavelength grid; afterward, the grid is pruned by removing points with
8
corresponding to a numerical resolving power of roughly
9
The emergent monochromatic intensity is written as
0
and high-resolution comparisons are often performed with continuum-normalized flux
1
(Short, 2023).
For molecular bands, the suite uses the Just-Overlapping-Line Approximation (JOLA) rather than explicit molecular line lists. This design choice reduces computational burden and is consistent with the suite’s approximate, fast-synthesis role (Short, 2023, Short, 6 Oct 2025).
3. Modules and major capability extensions
A major extension of the suite is Chroma+GAS, which provides an expedited solution of the coupled chemical-equilibrium and equation-of-state problem for cool stellar atmospheres. Implemented as the stand-alone Python package GASPy and integrated into ChromaStarPy, it computes the gas state, absorber number densities, and the surface flux spectrum with consistent inclusion of 105 chemical species, including 34 diatomic and 16 polyatomic neutral molecules, as well as 2, 3, and many neutral and ionized atomic species (Short et al., 2022). The solver is based on an economized Newton method applied to linearized Saha and conservation equations, and in ChromaStarPy it is used for stars cooler than 4 K no longer holds; specifically, the paper states that stars hotter than 5 K still use the previous simpler ionization/EOS treatment, while cooler stars call GAS at each Rosseland optical depth to obtain
6
Another major upgrade is the incorporation of the VALD atomic line list in Version 2023-02-04. Earlier versions used a much smaller NIST-based list of about 7 lines over 8–9 nm with a file size of 0 MB. The VALD-based list contains about 1 lines over 2–3 nm with a file size of 4 MB, includes up to six ionization stages for all elements up to Ge (5), plus selected heavier elements up to La (6), and specifically includes about 7 8 lines and about 9 0 lines (Short, 2023). This larger list improves treatment of weak-line blanketing, especially in the blue for late-type stars, and reduced the multiplicative extra continuum opacity needed to fit the solar spectral energy distribution from about 1 to about 2 throughout the visible band (Short, 2023). The NIST list remains available for projects requiring speed over completeness of line opacity (Short, 2023).
The suite also includes in situ exoplanet transit light-curve synthesis. In this extension, the transit light curve is computed directly from the same emergent radiation field used for stellar modelling, rather than by applying an external limb-darkening law. The new capability supports planets of arbitrary size up to 3 of the host stellar radius, arbitrary stellar mass 4, arbitrary orbital radius 5, and arbitrary orbital inclination 6, with the transit flux 7 derived from the emergent intensity field 8 and synthetic photometry for the Johnson-Bessel system 9 (Short, 2020). The implementation assumes, among other things, a chord-like transit path, constant projected velocity during transit, the small-planet approximation 0, no grazing transits of interest, zero planetary intensity, and a distant observer (Short, 2020). In ChromaStarPy, this is controlled through new command-file settings such as "rOrbit" and "rPlanet", while existing settings like "logg", "massStar", and "rotI" are reused (Short, 2020).
These modules make clear that Chroma+ is not only a spectral synthesis engine. It is a broader star-plus-observable framework coupling atmospheric structure, chemistry, line opacity, flux synthesis, and transit photometry. This suggests that its main architectural logic is integrative rather than single-purpose (Short et al., 2022, Short, 2020).
4. Spherical formal solution and version 2025-08-08
Version 2025-08-08 introduces one of the suite’s most substantial structural changes: a spherical formal solution for emergent surface intensities, fluxes, and hydrostatic pressure structure. The paper presents this as a consistency improvement, since the Phoenix temperature structures that Chroma+ rescales were themselves computed with spherical geometry (Short, 6 Oct 2025).
The spherical radiative transfer equation is given as
1
with isotropic source function
2
and under LTE,
3
(Short, 6 Oct 2025). Chroma+ adapts the analytic formal solution of Chapman (1966), using an integration factor 4, to a finite atmosphere on a discrete radial grid. The integration factor is written as
5
with
6
at the surface (Short, 6 Oct 2025).
The discrete atmospheric geometry uses:
- 7 depth points,
- Rosseland optical depth 8 as depth variable,
- equally spaced 9 over
0
- and 32 positive abscissae from a 64-point Gauss-Legendre quadrature on 1 for the surface angular grid (Short, 6 Oct 2025).
The core radius is defined from mass and gravity by
2
the outer radius is approximated as
3
and the impact parameter for a surface ray is
4
This leads to a distinction between core-intersecting rays and non-core-intersecting rays, separated by the critical cosine
5
(Short, 6 Oct 2025). The physical consequence is a much steeper near-limb drop in intensity for low-gravity stars, because low-6 rays may traverse only a finite shell and miss the opaque core entirely (Short, 6 Oct 2025).
The hydrostatic equilibrium update introduces spherical gravity
7
replacing the plane-parallel constant-8 assumption (Short, 6 Oct 2025). The paper is explicit that this is still not a full self-consistent spherical atmosphere solution with internal radiative-equilibrium iteration; instead, it inserts spherical geometry into the formal solution of the radiative transfer equation, flux derivation, and hydrostatic structure (Short, 6 Oct 2025).
Observable consequences are reported chiefly for low-gravity stars. For a model near 9 K, 0, 1, and wavelength 2 nm, the greatest difference between spherical and plane-parallel center-to-limb intensity variation occurs near the limb for
3
where the spherical CLIV drops precipitously below the plane-parallel prediction (Short, 6 Oct 2025). In a toy transit calculation for the same stellar parameters with a 4 planet at 5 AU and inclination 6, the spherical model yields a delayed apparent onset of ingress and more rapid ingress light variation than the plane-parallel case (Short, 6 Oct 2025). This links the spherical formal solution directly to one of the suite’s earlier headline capabilities, namely transit modelling.
5. Validation, observational comparisons, and practical workflows
The suite’s validation literature is both observational and methodological. On the spectroscopy side, Chroma+ has been compared with the observed solar spectral energy distribution, with high-resolution visible-band spectra of the Sun, Arcturus, and Vega, and with low-resolution spectra obtained at the Burke-Gaffney Observatory (Short, 2023).
For the solar model, the paper gives approximately canonical parameters
7
with microturbulence
8
and van der Waals enhancement
9
(Short, 2023). Two representative visible regions are examined: the relatively uncrowded Na I 0 region and the more crowded Ca I 4227 region. Synthetic spectra are smoothed with
1
for high-resolution solar comparisons, while broadband SED comparisons use
2
(Short, 2023). The paper reports that the VALD-based spectrum is visibly more realistic in crowded regions than the NIST-based one, especially in the line-rich blue, and that the larger line list better models the line blanketing for 3 nm (Short, 2023).
The same paper reports photometric consequences of the line-list upgrade. The additional VALD opacity decreases synthetic 4 by about
5
with reported colors changing from
6
for NIST to
7
for VALD, compared with
8
from the observed solar irradiance spectrum (Short, 2023). These numbers show improved treatment of some broad-band behavior while also indicating that the suite remains approximate rather than fully precision calibrated.
For Arcturus, the model comparison uses
9
with Gaussian smoothing
0
and for Vega,
1
with
2
(Short, 2023). The Vega study is also tied to a retuning of linear Stark broadening strengths for 3 Balmer lines. These validations indicate that Chroma+ can reproduce gross visible morphology across a wide range of stellar types, but still relies on empirical tuning for opacity and broadening parameters (Short, 2023).
Transit validation is more limited. The in situ transit paper compares a Chroma+ 4-band transit light curve for an edge-on transit of a Sun-like star by Earth with an analytic small-planet model using the four-parameter second-order limb-darkening parameterization of Claret (2000) and a modified Mandel & Agol expression. The comparison uses a CSPy solar model
5
and an analytic ATLAS9 model
6
with coefficients
7
and an adjustment factor
8
The paper does not report a quantitative goodness-of-fit metric, but shows broad comparability between the Chroma+ curve and the analytic limb-darkened one (Short, 2020). This suggests that transit capability in Chroma+ is intended more for self-consistent forward modelling and exploratory work than for state-of-the-art precision transit inference.
The suite also supports practical multi-CPU workflows. For Java-based CSS spectrum synthesis with the VALD list, the wavelength range 9–00 nm was split into eight sub-ranges and run as slurm array jobs, with CPU times from 22 minutes to 80 minutes and memory allocations from 0.7 GB to 1.2 GB, generally increasing toward shorter wavelengths where line density is higher (Short, 2023). This demonstrates that although Chroma+ emphasizes responsiveness, it also includes a path to broader high-resolution synthesis when computational resources are available.
6. Intended use, limitations, and name ambiguity
The papers are unusually explicit about scope. Chroma+ is intended for pedagogical numerical experiments, quick exploratory modelling, parameter perturbation and differential comparisons, some research uses where speed and interactivity matter, rapid synthetic spectral reconnaissance, and support for transit and limb-darkening studies (Short, 6 Oct 2025, Short, 2023). ChromaStarPy in particular prioritizes responsiveness in a Python IDE, and the transit paper notes that the use of only the 11 zero-positive abscissae of a 21-point Gauss-Legendre quadrature was chosen partly because responsiveness in a Python IDE is a priority (Short, 2020).
Its limitations follow directly from that design. The atmosphere model is 1D; the source function is Planckian under LTE in the spherical formal-solution paper; the thermal structure is inherited by scaling from Phoenix rather than being solved self-consistently; molecular opacity remains in JOLA rather than line-by-line form; the transit model assumes the small-planet approximation 01, no grazing transits of interest, constant projected speed, a dark planet, an axisymmetric stellar radiation field, and simplified three-point ingress/egress treatment; and the spherical upgrade affects the formal solutions of radiative transfer and hydrostatic equilibrium, not a full radiative-equilibrium atmosphere iteration (Short, 6 Oct 2025, Short, 2020, Short et al., 2022).
On the chemistry side, Chroma+GAS is optimized for O-rich chemistry and may require more iterations for carbon-rich atmospheres or layers cooler than 02 K. On the spectroscopy side, empirical tuning remains visible in the continued use of opacity adjustments and broadening parameter choices. On the transit side, the implementation is useful for forward modelling and for evaluating limb-darkening-based inverse methods, but the paper explicitly does not claim that it is a specialized precision fitting tool (Short et al., 2022, Short, 2023, Short, 2020).
A final point concerns terminology. The name “Chroma” also appears in a distinct, unrelated high-performance lattice QCD software context built on PETE and QDP++, where “Chroma” denotes a lattice QCD software suite rather than a stellar atmosphere and spectrum modelling environment (Winter, 2011). That separate usage should not be conflated with Chroma+ Suite. The Chroma+ papers consistently use the term for the stellar-atmosphere, spectrum-synthesis, and transit-modelling ecosystem centered on ChromaStarPy, ChromaStarServer, ChromaStarAtlas, and associated OpenStars distributions (Short, 2020, Short, 2023).
Taken together, the literature defines Chroma+ Suite as a fast, approximate, cross-language modelling platform whose distinctive feature is not maximal physical completeness but the integration of stellar atmosphere structure, chemistry, line opacity, emergent intensities, flux synthesis, and transit observables into a coherent, portable workflow. Subsequent additions—GAS chemistry, VALD line opacity, in situ transit synthesis, and spherical formal solutions—have expanded that workflow while preserving its original emphasis on responsiveness and accessibility (Short et al., 2022, Short, 2023, Short, 6 Oct 2025).