---
title: 'Chroma+ Suite: Integrated Stellar Modeling'
url: https://www.emergentmind.com/topics/chroma-suite
type: topic
---

# Chroma+ Suite: Integrated Stellar Modeling

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 [2307.01279] [2510.05035].

## 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 [2510.05035].

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 \(I_\lambda(\tau=0,\cos\theta)\) 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 [2006.14586] [2307.01279].

The suite’s core parameterization includes stellar atmosphere inputs such as
\[
T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},
\]
so the codes support modelling as a function of effective temperature, gravity, abundance, and microturbulence [2006.14586]. In later versions, **stellar mass \(M\)** becomes an explicit input parameter for spherical geometry, and a Boolean **ifSphere** switch selects spherical or plane-parallel formal solutions [2510.05035].

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 [2307.01279] [2510.05035].

## 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
\[
I_\lambda(\tau=0,\cos\theta)
\]
and associated fluxes and synthetic photometry [2006.14586]. The spectral grid spans the UV to IR with equal \(\log\lambda\) spacing, supplemented by additional wavelength points for spectral lines, and the angular discretization of emergent intensities uses a **Gauss-Legendre quadrature** in \(\cos\theta\) [2006.14586].

The suite computes or organizes a broad set of atmospheric quantities, including total hydrostatic pressure structure \(P(\tau_{\rm Ros})\), gas pressure \(P_{\rm gas}(\tau_{\rm Ros})\), electron pressure \(P_{\rm e}(\tau_{\rm Ros})\), radiation pressure \(P_{\rm rad}(\tau_{\rm Ros})\), opacity structure \(\kappa_\nu(\tau_{\rm Ros})\) and \(\kappa_{\rm Ros}(\tau_{\rm Ros})\), equation of state, ionization and molecular equilibria, and synthetic spectra [2510.05035]. Its numerical philosophy is deliberately economical. A central shortcut is that the kinetic-temperature structure \(T_{\rm kin}(\tau_{\rm Ros})\), 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 [2510.05035].

For opacity and spectrum synthesis, Chroma+ combines continuum opacity with atomic line opacity and molecular opacity. The monochromatic extinction distribution is denoted
\[
\kappa_\lambda(\tau),
\]
and line inclusion is screened through a line-center test
\[
{\kappa^{\rm l}_{\lambda_0} \over \kappa^{\rm c}_{\lambda_0} > \epsilon
\]
evaluated at three reference \(\log\tau_{\lambda_0}\) values [2307.01279]. For each accepted line, the code constructs a line-specific wavelength grid around \(\lambda_0\), distributes the line profile \(\phi_\lambda(\lambda-\lambda_0)\) over that grid, and inserts the resulting points into a master wavelength grid; afterward, the grid is pruned by removing points with
\[
\Delta \lambda < \Delta\lambda_{\rm min},
\qquad
\Delta\lambda_{\rm min} \sim 0.001\ {\rm nm},
\]
corresponding to a numerical resolving power of roughly
\[
R \sim 500{,}000.
\]
The emergent monochromatic intensity is written as
\[
I_\lambda(\tau_\lambda=0),
\]
and high-resolution comparisons are often performed with continuum-normalized flux
\[
F_\lambda(\lambda)/F^{\rm C}_\lambda(\lambda)
\]
[2307.01279].

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 [2307.01279] [2510.05035].

## 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 \(\mathrm{H^-}\), \(\mathrm{H_2^+}\), and many neutral and ionized atomic species [2206.01236]. 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 \(T_{\rm eff}>6500\) K no longer holds; specifically, the paper states that stars hotter than \(T_{\rm eff}>6500\) K still use the previous simpler ionization/EOS treatment, while cooler stars call GAS at each Rosseland optical depth to obtain
\[
e(\tau_{\rm Ros}),\ \rho(\tau_{\rm Ros}),\ \mu(\tau_{\rm Ros}),\ p_n(\tau_{\rm Ros})
\]
[2206.01236].

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 \(\sim 26{,}000\) lines over \(260\)–\(2600\) nm with a file size of \(2.9\) MB. The VALD-based list contains about \(\sim 613{,}000\) lines over \(250\)–\(2600\) nm with a file size of \(36\) MB, includes up to six ionization stages for all elements up to Ge (\(Z=32\)), plus selected heavier elements up to La (\(Z=57\)), and specifically includes about \(70{,}000\) \(\ion{Fe}{1}\) lines and about \(80{,}000\) \(\ion{Fe}{2}\) lines [2307.01279]. 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 \(\sim 3\) to about \(\sim 1.5\) throughout the visible band [2307.01279]. The NIST list remains available for projects requiring speed over completeness of line opacity [2307.01279].

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 \(10\%\) of the host stellar radius, arbitrary stellar mass \(M\), arbitrary orbital radius \(R_{\rm orb}\), and arbitrary orbital inclination \(i\), with the transit flux \(F_{\rm band}(t)\) derived from the emergent intensity field \(I_\lambda(\tau=0,\cos\theta)\) and synthetic photometry for the Johnson-Bessel system \(UBVRIHJK\) [2006.14586]. The implementation assumes, among other things, a chord-like transit path, constant projected velocity during transit, the small-planet approximation \(r/R \lesssim 0.1\), no grazing transits of interest, zero planetary intensity, and a distant observer [2006.14586]. 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 [2006.14586].

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 [2206.01236] [2006.14586].

## 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 [2510.05035].

The spherical radiative transfer equation is given as
\[
\frac{\mu}{\kappa_\lambda(r)\rho(r)}\frac{d I_\lambda(r,\mu)}{dr} + \frac{1-\mu^2}{\kappa_\lambda(r)\rho(r)\,r}\frac{d I_\lambda(r,\mu)}{d\mu} = S_\lambda(r)-I_\lambda(r,\mu),
\]
with isotropic source function
\[
S_\lambda(\mu)=S_\lambda,
\]
and under LTE,
\[
S_\lambda(r_i)=B_\lambda\!\left(T_{\rm kin}(r_i)\right)
\]
[2510.05035]. Chroma+ adapts the analytic formal solution of Chapman (1966), using an integration factor \(\Phi_\lambda\), to a finite atmosphere on a discrete radial grid. The integration factor is written as
\[
\Phi_\lambda(r_i,\mu) \approx \exp\left[ -\sum_{j=i}^N \frac{\Delta\tau_i} {\left(1-\left(\frac{r_i}{r_j}\right)^2(1-\mu^2)\right)^{1/2} } \right],
\]
with
\[
\Phi_\lambda(r_N,\mu)=1
\]
at the surface [2510.05035].

The discrete atmospheric geometry uses:  
- \(N=64\) depth points,  
- Rosseland optical depth \(\tau_{\rm Ros}\) as depth variable,  
- equally spaced \(\log\tau_{\rm Ros}\) over
\[
[-6,\,2],
\]
- and 32 positive abscissae from a 64-point Gauss-Legendre quadrature on \([0,1]\) for the surface angular grid [2510.05035].

The core radius is defined from mass and gravity by
\[
R_i = \left(\frac{GM}{g}\right)^{1/2},
\]
the outer radius is approximated as
\[
R_0 \approx R_i + \Delta z,
\]
and the impact parameter for a surface ray is
\[
r_b = r_N (1-\mu_{0,k}^2)^{1/2}.
\]
This leads to a distinction between **core-intersecting rays** and **non-core-intersecting rays**, separated by the critical cosine
\[
\mu_c = \left| \left[ 1 - \left(\frac{r_0}{r_N}\right)^2 \right]^{1/2} \right|
\]
[2510.05035]. The physical consequence is a much steeper near-limb drop in intensity for low-gravity stars, because low-\(\mu_0\) rays may traverse only a finite shell and miss the opaque core entirely [2510.05035].

The hydrostatic equilibrium update introduces spherical gravity
\[
g(r)=\frac{GM}{r^2},
\]
replacing the plane-parallel constant-\(g\) assumption [2510.05035]. 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 [2510.05035].

Observable consequences are reported chiefly for low-gravity stars. For a model near \(T_{\rm eff}=5000\) K, \(\log g=2.0\), \(M=5.0\,M_{\rm Sun}\), and wavelength \(653.1\) nm, the greatest difference between spherical and plane-parallel center-to-limb intensity variation occurs near the limb for
\[
\mu_0 \lesssim 0.1,
\]
where the spherical CLIV drops precipitously below the plane-parallel prediction [2510.05035]. In a toy transit calculation for the same stellar parameters with a \(1\,R_{\rm Jup}\) planet at \(1\) AU and inclination \(90^\circ\), the spherical model yields a delayed apparent onset of ingress and more rapid ingress light variation than the plane-parallel case [2510.05035]. 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 [2307.01279].

For the solar model, the paper gives approximately canonical parameters
\[
(T_{\rm eff}/\log g/[{\rm A}\over{\rm H}]) = (5800\,{\rm K}/4.5/0.0),
\]
with microturbulence
\[
\xi_{\rm T} = 1\ {\rm km\,s^{-1}}
\]
and van der Waals enhancement
\[
\gamma_{\rm VW} \sim 3
\]
[2307.01279]. Two representative visible regions are examined: the relatively uncrowded Na I \(D_2\) region and the more crowded Ca I 4227 region. Synthetic spectra are smoothed with
\[
\sigma = 2.0\ {\rm km\,s^{-1}}
\]
for high-resolution solar comparisons, while broadband SED comparisons use
\[
\sigma = 250\ {\rm km\,s^{-1}}
\]
[2307.01279]. 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 \(\lambda < 500\) nm [2307.01279].

The same paper reports photometric consequences of the line-list upgrade. The additional VALD opacity decreases synthetic \(B-V\) by about
\[
\sim 0.015\ {\rm mag},
\]
with reported colors changing from
\[
(B-V, V-R, V-I, R-I) = (0.365, 0.717, 1.355, 0.277)
\]
for NIST to
\[
(0.351, 0.854, 1.530, 0.293)
\]
for VALD, compared with
\[
(0.477, 0.846, 1.408, 0.244)
\]
from the observed solar irradiance spectrum [2307.01279]. 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
\[
(T_{\rm eff}/\log g/[{\rm A}\over{\rm H}]) = (4200\,{\rm K}/1.5/-0.5)
\]
with Gaussian smoothing
\[
\sigma = 4.0\ {\rm km\,s^{-1}},
\]
and for Vega,
\[
(T_{\rm eff}/\log g/[{\rm A}\over{\rm H}]) = (9550\,{\rm K}/3.95/-0.5)
\]
with
\[
\sigma = 20\ {\rm km\,s^{-1}}
\]
[2307.01279]. The Vega study is also tied to a retuning of linear Stark broadening strengths for \(\ion{H}{1}\) 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 [2307.01279].

Transit validation is more limited. The in situ transit paper compares a Chroma+ \(V\)-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
\[
T_{\rm eff}/\log g/[{\rm A}\over{\rm H}]/\xi_{\rm T} = 5777/4.44/0.0/1.0
\]
and an analytic ATLAS9 model
\[
5750/4.5/0.0/1.0,
\]
with coefficients
\[
\{a_n\} = \{0.5169, -0.0211, 0.6944, -0.3892\}
\]
and an adjustment factor
\[
f = 2/\pi.
\]
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 [2006.14586]. 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 \(400\)–\(750\) 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 [2307.01279]. 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 [2510.05035] [2307.01279]. 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 [2006.14586].

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 \(r/R \lesssim 0.1\), 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 [2510.05035] [2006.14586] [2206.01236].

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 \(3000\) 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 [2206.01236] [2307.01279] [2006.14586].

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 [1105.2279]. 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 [2006.14586] [2307.01279].

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 [2206.01236] [2307.01279] [2510.05035].

Source: https://www.emergentmind.com/topics/chroma-suite