Papers
Topics
Authors
Recent
Search
2000 character limit reached

Chroma+ Suite: Integrated Stellar Modeling

Updated 14 July 2026
  • 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 Iλ(τ=0,cosθ)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 (Short, 2020, Short, 2023).

The suite’s core parameterization includes stellar atmosphere inputs such as

Teff, logg, [AH], ξT,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 (Short, 2020). In later versions, stellar mass MM 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

Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)

and associated fluxes and synthetic photometry (Short, 2020). The spectral grid spans the UV to IR with equal logλ\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θ\cos\theta (Short, 2020).

The suite computes or organizes a broad set of atmospheric quantities, including total hydrostatic pressure structure P(τRos)P(\tau_{\rm Ros}), gas pressure Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros}), electron pressure Pe(τRos)P_{\rm e}(\tau_{\rm Ros}), radiation pressure Prad(τRos)P_{\rm rad}(\tau_{\rm Ros}), opacity structure Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},0 and Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},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 Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},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

Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},3

and line inclusion is screened through a line-center test

Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},4

evaluated at three reference Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},5 values (Short, 2023). For each accepted line, the code constructs a line-specific wavelength grid around Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},6, distributes the line profile Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},7 over that grid, and inserts the resulting points into a master wavelength grid; afterward, the grid is pruned by removing points with

Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},8

corresponding to a numerical resolving power of roughly

Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},9

The emergent monochromatic intensity is written as

MM0

and high-resolution comparisons are often performed with continuum-normalized flux

MM1

(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 MM2, MM3, 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 MM4 K no longer holds; specifically, the paper states that stars hotter than MM5 K still use the previous simpler ionization/EOS treatment, while cooler stars call GAS at each Rosseland optical depth to obtain

MM6

(Short et al., 2022).

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 MM7 lines over MM8–MM9 nm with a file size of Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)0 MB. The VALD-based list contains about Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)1 lines over Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)2–Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)3 nm with a file size of Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)4 MB, includes up to six ionization stages for all elements up to Ge (Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)5), plus selected heavier elements up to La (Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)6), and specifically includes about Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)7 Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)8 lines and about Iλ(τ=0,cosθ)I_\lambda(\tau=0,\cos\theta)9 logλ\log\lambda0 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 logλ\log\lambda1 to about logλ\log\lambda2 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 logλ\log\lambda3 of the host stellar radius, arbitrary stellar mass logλ\log\lambda4, arbitrary orbital radius logλ\log\lambda5, and arbitrary orbital inclination logλ\log\lambda6, with the transit flux logλ\log\lambda7 derived from the emergent intensity field logλ\log\lambda8 and synthetic photometry for the Johnson-Bessel system logλ\log\lambda9 (Short, 2020). The implementation assumes, among other things, a chord-like transit path, constant projected velocity during transit, the small-planet approximation cosθ\cos\theta0, 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

cosθ\cos\theta1

with isotropic source function

cosθ\cos\theta2

and under LTE,

cosθ\cos\theta3

(Short, 6 Oct 2025). Chroma+ adapts the analytic formal solution of Chapman (1966), using an integration factor cosθ\cos\theta4, to a finite atmosphere on a discrete radial grid. The integration factor is written as

cosθ\cos\theta5

with

cosθ\cos\theta6

at the surface (Short, 6 Oct 2025).

The discrete atmospheric geometry uses:

  • cosθ\cos\theta7 depth points,
  • Rosseland optical depth cosθ\cos\theta8 as depth variable,
  • equally spaced cosθ\cos\theta9 over

P(τRos)P(\tau_{\rm Ros})0

  • and 32 positive abscissae from a 64-point Gauss-Legendre quadrature on P(τRos)P(\tau_{\rm Ros})1 for the surface angular grid (Short, 6 Oct 2025).

The core radius is defined from mass and gravity by

P(τRos)P(\tau_{\rm Ros})2

the outer radius is approximated as

P(τRos)P(\tau_{\rm Ros})3

and the impact parameter for a surface ray is

P(τRos)P(\tau_{\rm Ros})4

This leads to a distinction between core-intersecting rays and non-core-intersecting rays, separated by the critical cosine

P(τRos)P(\tau_{\rm Ros})5

(Short, 6 Oct 2025). The physical consequence is a much steeper near-limb drop in intensity for low-gravity stars, because low-P(τRos)P(\tau_{\rm Ros})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

P(τRos)P(\tau_{\rm Ros})7

replacing the plane-parallel constant-P(τRos)P(\tau_{\rm Ros})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 P(τRos)P(\tau_{\rm Ros})9 K, Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})0, Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})1, and wavelength Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})2 nm, the greatest difference between spherical and plane-parallel center-to-limb intensity variation occurs near the limb for

Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})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 Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})4 planet at Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})5 AU and inclination Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})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

Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})7

with microturbulence

Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})8

and van der Waals enhancement

Pgas(τRos)P_{\rm gas}(\tau_{\rm Ros})9

(Short, 2023). Two representative visible regions are examined: the relatively uncrowded Na I Pe(τRos)P_{\rm e}(\tau_{\rm Ros})0 region and the more crowded Ca I 4227 region. Synthetic spectra are smoothed with

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})1

for high-resolution solar comparisons, while broadband SED comparisons use

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})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 Pe(τRos)P_{\rm e}(\tau_{\rm Ros})3 nm (Short, 2023).

The same paper reports photometric consequences of the line-list upgrade. The additional VALD opacity decreases synthetic Pe(τRos)P_{\rm e}(\tau_{\rm Ros})4 by about

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})5

with reported colors changing from

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})6

for NIST to

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})7

for VALD, compared with

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})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

Pe(τRos)P_{\rm e}(\tau_{\rm Ros})9

with Gaussian smoothing

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})0

and for Vega,

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})1

with

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})2

(Short, 2023). The Vega study is also tied to a retuning of linear Stark broadening strengths for Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})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+ Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})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

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})5

and an analytic ATLAS9 model

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})6

with coefficients

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})7

and an adjustment factor

Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})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 Prad(τRos)P_{\rm rad}(\tau_{\rm Ros})9–Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},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 Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},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 Teff, logg, [AH], ξT,T_{\rm eff},\ \log g,\ [{\rm A}\over{\rm H}],\ \xi_{\rm T},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).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Chroma+ Suite.