SolRaT
SolRaT (Solar Radiative Transfer) is a forward-modeling code for the polarized, non-LTE transfer of spectral-line radiation in magnetized stellar atmospheres. It is built on the density-matrix formalism of [LL04] and written so that each statistical-equilibrium and radiative-transfer expression reads close to the equation it implements. The aim is a model that is transparent enough to inspect and verify, and flexible enough to adapt to a specific line or context rather than used as a black box.
Manuscript figures and benchmarks
Scripts for reproducing the [SolRaT manuscript] figures and benchmark comparisons are mapped in README_MANUSCRIPT.md.
Physical model
- Density-matrix formalism in the irreducible spherical statistical tensors $\rho^K_Q$, with atomic level polarization fully included [LL04].
- Interchangeable atomic models in a single pipeline: multi-term, multi-level, and LTE variants of both descriptions, selectable without rewriting the surrounding code.
- Magnetic fields across regimes: linear Zeeman splitting in the multi-level atom, and linear Zeeman through incomplete and complete Paschen-Back splitting in the multi-term atom by exact diagonalization of the atomic Hamiltonian. Both descriptions capture the Hanle effect at weak fields.
- Radiation field $J^K_Q$ either prescribed (LTE Planck, or Allen/[ATL08]-style anisotropic ${n, w}$ values for coronal/chromospheric lines) or solved self-consistently for the non-LTE scattering problem [TM99].
Atmospheres and synthesis
- Constant-property slabs, optionally stacked into a multi-slab stratification under anisotropic illumination.
- Height-stratified atmospheres in which temperature, absorber number density, the magnetic-field vector, microturbulence, Voigt damping, and the vector macroscopic velocity vary continuously with geometric height. The radiation tensor $J^K_Q$ can be prescribed on the depth grid or solved self-consistently by $\Lambda$-iteration, with the Stokes transfer solved by the DELO method.
- Emergent Stokes profiles for a chosen line of sight at arbitrary spectral resolution.
The synthesis flow separates the atmosphere choice, the atomic description, the radiation-field treatment, and the final RTE integration; in self-consistent non-LTE runs the formal solution feeds back into the radiation tensor used by the SEE. Figure from Yakovkin (2026), arXiv:2609.32850, licensed under CC BY 4.0.
Design
SolRaT is organized in three layers:
- a public API to run the built-in models;
- a modeling API to extend a model or build a new one by analogy with the shipped ones;
- the SolRaT engine, a vectorized meta-language in which the angular algebra and rate expressions are written close to their mathematical form, with the bookkeeping and optimization handled underneath.
Pre-configured atomic data include He I D3 in multi-term and multi-level forms, and LTE-oriented multi-term models for Mn I 5432.5 Å, Ni I 5435.9 Å, and Fe I 5434.523 Å.
Scope and limitations
SolRaT is a forward model. Line formation assumes complete frequency redistribution (CRD). Physical collisional rates from cross-sections, partial frequency redistribution, and 3D geometry are out of scope for the current version. Please refer to [SolRaT article] for more details on limitations.
Installation
Install SolRaT directly from PyPI by running pip install solrat.
Documentation
Detailed documentation is available at https://solrat.readthedocs.io/. A getting-started guide is available at https://solrat.readthedocs.io/latest/getting_started.html. Additional demos and validation against [LL04] and [HAZEL2] are available in demos.
Citing
If SolRaT has found use in your research, please cite the arXiv article:
Yakovkin I. I. 2026, SolRaT: polarized spectral line modeling with multi-term and multi-level atoms, arXiv:2609.32850
References
[SolRaT article] Yakovkin, I. I. 2026, SolRaT: polarized spectral line modeling with multi-term and multi-level atoms, arXiv:2609.32850
[LL04] Landi Degl’Innocenti, E., & Landolfi, M. 2004, Polarization in Spectral Lines (Dordrecht: Kluwer)
[ATL08] Asensio Ramos, A., Trujillo Bueno, J., & Landi Degl’Innocenti, E. (2008). Advanced Forward Modeling and Inversion of Stokes Profiles Resulting from the Joint Action of the Hanle and Zeeman Effects. The Astrophysical Journal, 683(1), 542–565.
[TM99] Trujillo Bueno, J., & Manso Sainz, R. (1999). Iterative Methods for the Non-LTE Transfer of Polarized Radiation: Resonance Line Polarization in One-dimensional Atmospheres. The Astrophysical Journal, 516(1), 436–450.
[HAZEL2] Link
Keywords:
Non-LTE, Stokes Profiles, Synthesis, Paschen-Back, Hanle, Zeeman, Magnetic Fields, Sun, Solar Atmosphere, Radiative Transfer, Spectral Line Polarization, Spectral Lines, Multi-Term Atom Model, Multi-Level Atom Model, Atomic Polarization.Copyright (2023) Ivan I. Yakovkin
Metadata
Release files for solrat 1.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| solrat-1.4.4.tar.gz | 702.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| solrat-1.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / solrat-1.4.4.tar.gz
| Download URL | solrat-1.4.4.tar.gz |
|---|---|
| Size | 702.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d326353d8c966957d274a4ab5c9de2a60b089c9d4e9963f71cd4ed9d6a73a0d
|
|
BLAKE2b-256 checksum How to use checksums |
83c315267d992c5b718a369138434f5ae71065c5d8e365df106688cb7ca4cb77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / solrat-1.4.4-py3-none-any.whl
| Download URL | solrat-1.4.4-py3-none-any.whl |
|---|---|
| Size | 782.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c34ea4e99a375f4ccc5291d84bcf771c43a18fc9423c0fbc3398e7c520b884f
|
|
BLAKE2b-256 checksum How to use checksums |
7e4b53fd4b964ecef94cd42a6a6e1b8d6f0f35c38186b2b872bd8bebf2d45354
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency log