lte-codes sterne spectrum ffit sfit grids idlines
commands spectrum ffit scl idlines

Stellar Atmospheres Software

Latest News

All of the information we obtain about stars is provided by electromagnetic radiation. The photons we detect originate in the outermost layers, or atmosphere, of the star. In order to interpret stellar spectra, it is necessary to construct models which accurately represent the structure of a stellar atmosphere and the transfer of radiation from the stellar interior into interstellar space. For the study of helium stars and other stellar remnants, we in Armagh use several computer programs, of which sterne and spectrum are the most important.

sterne Model atmospheres in LTE
spectrum LTE radiative transfer
lte_lines Linelists for spectral analysis
idlines Tools for building a spectral atlas
ffit Fit stellar flux distributions (one or two stars)
sfit Fit hires spectrum for Teff, log g, n_i, v sin i, for single and binary stars. n_i is the abundance of an arbitrary element. Also find abndances and v_turb
synthe LTE radiative transfer (Kurucz/Lester)
libraries Subroutine Libraries
These programmes are available to Armagh Observatory astronomers and run on local workstations running Digital Unix or Linux. See CSJ for details of how to run the codes in Armagh. Archive versions of spectrum and sterne are available from CCP7.

Block diagram illustrating the procedures, inputs and outputs used in the analysis of high-resolution optical spectra and broad-band spectrophotometry.


Sterne is a program which calculates the structure of stellar atmospheres. It is optimized for stars with effective temperatures between 10,000 and 35,000 K, and is specifically designed to be suitable for the calculation of model atmospheres with extreme compositions dominated by helium, carbon and nitrogen.

The program assumes that the stellar atmosphere is plane-parallel and in local thermal, radiative and hydrostatic equilibrium. It considers opacities due to photo-ionization of all major ions and to approximately 10^5 lines. The original code was written by Wolf and Schoenberner in Berlin (1974), and has been substantially developed since by Heber (Kiel and Bamberg) and Jeffery (St Andrews and Armagh).

A grid of model atmospheres computed using Sterne is also available on this website.


Spectrum is a spectrum synthesis program written originally by Philip Dufton at Queen's University Belfast and subsequently extended by Danny Lennon, Liz Conlon (QUB) and Simon Jeffery (St Andrews and Armagh). The program has the following features:


For calculating model spectra of early-type helium stars in LTE, I maintain a database of atomic data for, mostly, blue-visual absorption lines of light elements. The data is sorted with one file for each ion.

For each absorption line included, the database includes the wavelength, oscillator strength, radiative and collisional damping constants (where avaliable), the excitation energy of the lower-level in the transition, the multplet number (from Moore's revised multiplet tables). A reference for each of the oscillator strengths and damping constants are also given. The database is dynamic, with new lines being added as required. Some vetting is applied to ensure that only the most reliable data are included. Consequently the database is quite dynaimc, with corrections and updates being included at arbitrarry times. There are currently plans to make major improvments to the overall format of the data tables.


In order to facilitiate line identification and the interpretation of synthetic spectra, I have developed some IDL tools. These allow for for the construction of a spectral atlas showing an observed and synthetic spectrum at two scales, identified line locations from multiple atomic spectra and individual line identifications (including multiplet numbers) from individual atomic or ionic spectra. The tools are ideal for working with lte_lines format linelists and dipso format spectra, but may be easily modified. The following files give more details. the idlines command: see idlines the ewlines command: see idlines some demo commands a sample spectrum (4 columns, but 2-column format is possible)
bd13_synth_lines.dat the line list sample output from > ewlines, ...
The sample output shows


The apparent spectral energy distribution of a star is defined primarily by its effective temperature Teff, its angular diameter theta and by interstellar extinction, characterised by the colour excess EB-V. Opacity in the stellar atmosphere modifies the emergent energy distribution, so that it in order to solve for the above quantities it is necessary to compare theoretical models of stellar energy distributions with that observed. Given a grid of such energy distributions as a function of effective temperature, and a suitable description of the detected energy distribution, tfit uses a chi-squared minimization approach to solve for some or all of Teff, theta and EB-V. The weighted multivariate least-squares minimization procedure uses a downhill simplex method (AMOEBA), and converges rapidly.

The apparent spectral energy distribution of a binary system is defined primarily by the effective temperatures Teff,1,2, and angular diameters theta1,2 of both components, as well as by interstellar extinction, which is assumed to be common to both stars (EB-V). (Circumstellar extinction within the binary system could alter this assumption in some cases).

This program fits the spectral energy distribution of one or two stars. It was designed as a replacement for tfit and binfit. The input file format has been completely revised, and model fluxes are correctly convolved with appropriate filter functions when fitting optial and IR photometry. Examples showing the best fit energy distribution for single and binary star spectra will be available shortly.


At higher resolution, the spectrum of a star is defined primarily by its effective temperature Teff, its surface gravity g and it chemical composition. Absorption lines are also modified by rotational and microturbulent broadening. Given a grid of high-resolution spectra, such as those computed with spectrum, these programs locate a best fit in Teff, log g, vsini and one other variable (eg helium abundance or metallicity). sfit was completely revised in 2004 October.

After fixing Teff, log g, vsini, and, possibly, helium abundance, it may be desirable to compute the abundances of other individual chemical species. However the number of independent parameters now becopmes so large that precomputing large grids for multivariate analysis becomes prohibitive, especially when it is desirable to include several hundreds of spectral lines. This program computes a synthetic spectrum for a given starting composition, and then uses a search algorithm (AMOEBA or LEVENBURG) to find the best solution for those parameters that are allowed to vary, recomputing the best fit spectrum as it goes.


A spectrum synthesis program written originally by Bob Kurucz and used in conjunction with his programs atlas, balmer and width. It was adapted by John Lester and made available through CCP7 by Simon Jeffery - who added a number of scripts to make file management more straightforward.

In Armagh, the code has been used in studies of the cool companions of sdB binaries for which a modest model grid has been computed.


The principal codes discribed above (sterne, spectrum and sfit) use a number of subroutine libraries with a wide range of utilities. Some of these are described in more detail in accompanying documentation. All of the libraries are bundled with the distributed version of the codes.

This page is maintained by:
Simon Jeffery (
Last modified: 21/12/06