---
title: Reading Real Spectra with the NIST Database
module: Lasers and Spectroscopy
moduleNumber: 8
lessonNumber: 3
order: 803
summary: >
  Every quantity computed in this course — energy levels, transition frequencies,
  oscillator strengths, lifetimes — is tabulated for real atoms in the NIST Atomic
  Spectra Database. This lesson reads that data as physics: how levels are labelled
  by term symbols and energies in wavenumbers, how a transition list encodes
  wavelength, Einstein coefficient, and line strength, how a Grotrian diagram is
  reconstructed from the tables, and how a measured spectrum is matched to catalog
  lines. The residual between computed and tabulated positions is the running score
  of atomic theory.
topics: [Lasers and Spectroscopy]
sources:
  - book: NIST ASD
    ref: "NIST Atomic Spectra Database — Levels and Lines forms; https://www.nist.gov/pml/atomic-spectra-database"
  - book: Demtröder
    ref: "Ch. 9 — Doppler-Limited Spectroscopy; line assignment and term analysis"
  - book: Foot
    ref: "Ch. 4 — The Alkalis; term diagrams and quantum defects"
  - book: NIST ASD
    ref: "CODATA / NIST constants — https://physics.nist.gov/cuu/Constants/"
draft: false
---

Everything computed in this course has a measured counterpart. The
[hydrogen levels](/atomic-physics/quantum-hydrogen-atom/schrodinger-3d-hydrogen),
the [fine structure](/atomic-physics/fine-structure-and-the-dirac-atom/darwin-term-fine-structure-formula),
the [alkali quantum defects](/atomic-physics/quantum-hydrogen-atom/quantum-defects-alkali-spectra),
the [term symbols](/atomic-physics/many-electron-atoms/ls-jj-coupling-term-symbols),
the [selection rules](/atomic-physics/radiative-transitions-and-line-shapes/selection-rules-forbidden-transitions),
and the [Einstein coefficients](/atomic-physics/radiative-transitions-and-line-shapes/dipole-approximation-einstein-coefficients)
are all tabulated, for essentially every atom and ion, in the NIST Atomic Spectra
Database. Reading that data is a skill: the tables are compact, their conventions are
specific, and a measured spectrum becomes physics only once its lines are assigned to
tabulated transitions. This lesson reads the database as the quantitative record
against which the theory is checked.

## Levels: energies and term symbols

The **Levels** table lists the stationary states of an atom or ion. Each row carries
a configuration, a term symbol, a total angular momentum $J$, and an energy.

- **Energy in wavenumbers.** Level energies are tabulated in $\mathrm{cm}^{-1}$, the
  spectroscopic unit $\tilde\nu = E/hc$. The ground state is set to
  $0\ \mathrm{cm}^{-1}$ and every excited level is quoted as the wavenumber of the
  photon that reaches it from the ground state. The conversion is
  $1\ \mathrm{eV} = 8065.544\ \mathrm{cm}^{-1}$, and a transition's wavelength is the
  reciprocal difference of two levels.
- **Term symbol.** Each level is labelled ${}^{2S+1}L_J$ in Russell–Saunders
  notation: the left superscript is the spin multiplicity $2S+1$, the letter encodes
  the total orbital angular momentum $L$ ($S, P, D, F$ for $L = 0,1,2,3$), and the
  right subscript is $J$. A configuration such as $3p$ in sodium produces the two
  levels ${}^2P_{1/2}$ and ${}^2P_{3/2}$, split by the spin–orbit interaction.
- **Ionization limit.** The table ends at the ionization energy, the wavenumber at
  which the series of levels converges; states above it are in the continuum.

> **Definition (Wavenumber).** The energy of a level or the energy of a transition
> expressed as $\tilde\nu = E/hc$ in $\mathrm{cm}^{-1}$. It is additive along a level
> scheme — the wavenumber of a two-step path equals the sum of the steps — which is
> why spectroscopists tabulate energies this way rather than in joules or electron
> volts.

The additivity of wavenumbers is the **Ritz combination principle**: if two lines
share a common level, the sum or difference of their wavenumbers is itself the
wavenumber of a third line in the spectrum. This is the tool that builds a level
scheme from a raw list of lines before any of the levels are known individually.

$$
% caption: A levels table as the database presents it: configuration, term symbol,
% J, and energy in wavenumbers, converging on the ionization limit at the top.
\begin{tikzpicture}[scale=1.0, font=\footnotesize]
  \definecolor{acc}{HTML}{4A6FA5}
  % header
  \draw[acc] (0,4.4) rectangle (10,5.0);
  \fill[acc!12] (0,4.4) rectangle (10,5.0);
  \node[acc] at (1.3,4.7) {orbital};
  \node[acc] at (3.6,4.7) {term};
  \node[acc] at (5.6,4.7) {J};
  \node[acc] at (8.0,4.7) {energy};
  % rows
  \foreach \y/\cf/\tm/\jj/\en in {
    3.8/3s/{}/{}/{},
    3.2/3s/{}/{}/{},
    2.6/3p/{}/{}/{},
    2.0/3p/{}/{}/{},
    1.4/4s/{}/{}/{}} {
    \draw[black] (0,\y-0.3) rectangle (10,\y+0.3);
  }
  \node at (1.3,3.8) {3s}; \node at (3.6,3.8) {2S}; \node at (5.6,3.8) {1/2}; \node at (8.0,3.8) {0.00};
  \node at (1.3,2.6) {3p}; \node at (3.6,2.6) {2P}; \node at (5.6,2.6) {1/2}; \node at (8.0,2.6) {16956};
  \node at (1.3,2.0) {3p}; \node at (3.6,2.0) {2P}; \node at (5.6,2.0) {3/2}; \node at (8.0,2.0) {16973};
  \node at (1.3,1.4) {4s}; \node at (3.6,1.4) {2S}; \node at (5.6,1.4) {1/2}; \node at (8.0,1.4) {25740};
  % ionization limit
  \draw[acc, very thick, dashed] (0,0.7) -- (10,0.7);
  \node[acc, anchor=west] at (0.1,0.4) {ionization limit  41449};
\end{tikzpicture}
$$

## Lines: wavelength, transition rate, and line strength

The **Lines** table lists transitions. Each row ties a pair of levels to an observed
wavelength and to the atomic quantities that set the line's intensity.

- **Wavelength and wavenumber.** The transition is quoted by air or vacuum wavelength
  $\lambda$ and by wavenumber $\tilde\nu = \tilde\nu_{\text{upper}} - \tilde\nu_{\text{lower}}$.
  Above $2000\ \mathrm{\mathring A}$ the database quotes air wavelengths by convention,
  so a measured vacuum wavelength must be converted by the refractive index of air
  before comparison.
- **Transition probability $A_{ki}$.** The spontaneous-emission Einstein coefficient
  from upper level $k$ to lower level $i$, in $\mathrm{s}^{-1}$. The sum over all
  downward channels gives the level's decay rate; its reciprocal is the
  [lifetime](/atomic-physics/radiative-transitions-and-line-shapes/lifetimes-and-line-shapes)
  $\tau_k = 1/\sum_i A_{ki}$.
- **Oscillator strength $f_{ik}$ and line strength $S$.** Dimensionless
  characterizations of the transition strength, related to $A_{ki}$ by

$$
A_{ki} = \frac{2\pi e^2 \nu^2}{\varepsilon_0 m_e c^3}\,\frac{g_i}{g_k}\,f_{ik},
\qquad
S = \left|\langle k \Vert \vec r \Vert i\rangle\right|^2,
$$

with $g_i, g_k$ the lower and upper statistical weights.[^nist-lines] The line
strength $S$ is the square of the reduced dipole matrix element and is symmetric
between the two levels; $A$, $f$, and $S$ carry the same physical content weighted by
different powers of the transition frequency.

The intensity a line actually shows in a source combines the atomic $A$-coefficient
with the population of the emitting level. In a source at temperature $T$ the emitted
line intensity is

$$
I_{ki} \propto \frac{g_k}{Z}\,e^{-E_k/k_{\mathrm B}T}\,A_{ki}\,h\nu_{ki},
$$

with $Z$ the partition function. A weak line can come either from a small $A$ or from
a sparsely populated upper level; separating the two requires knowing the source
conditions, which is why quantitative spectroscopy reports $A$-values, not raw
intensities.

> **Worked example.** The sodium levels table lists
> $3s\,{}^2S_{1/2}$ at $0\ \mathrm{cm}^{-1}$,
> $3p\,{}^2P_{1/2}$ at $16956.170\ \mathrm{cm}^{-1}$, and
> $3p\,{}^2P_{3/2}$ at $16973.368\ \mathrm{cm}^{-1}$. The two $D$-line vacuum
> wavelengths follow by reciprocal:
> $$
> \lambda_{\text{vac}}(D_2) = \frac{1}{16973.368\ \mathrm{cm}^{-1}} = 589.158\ \mathrm{nm},
> \qquad
> \lambda_{\text{vac}}(D_1) = \frac{1}{16956.170\ \mathrm{cm}^{-1}} = 589.756\ \mathrm{nm}.
> $$
> The catalog quotes these in air, dividing by the refractive index
> $n_{\text{air}} \approx 1.000277$ at $589\ \mathrm{nm}$:
> $$
> \lambda_{\text{air}}(D_2) = 588.995\ \mathrm{nm},
> \qquad
> \lambda_{\text{air}}(D_1) = 589.592\ \mathrm{nm},
> $$
> the standard tabulated values. The doublet splitting is
> $\Delta\tilde\nu = 16973.368 - 16956.170 = 17.198\ \mathrm{cm}^{-1}$, the $3p$
> [fine-structure](/atomic-physics/fine-structure-and-the-dirac-atom/spin-orbit-thomas-precession)
> interval read straight off the table.

The air conversion is not a rounding detail. The refractive index of air varies with
wavelength, temperature, and pressure, and the difference between a vacuum and an air
wavelength at $589\ \mathrm{nm}$ is $0.16\ \mathrm{nm}$ — a quarter of the $0.6\
\mathrm{nm}$ doublet splitting and thousands of times the wavelength precision of a
laser measurement. Matching a measured line to a catalog entry therefore requires
knowing which convention each is quoted in, and converting one to the other with the
tabulated index before comparing.

## The Grotrian diagram

The tables are read most naturally as a picture. A **Grotrian diagram** places the
levels on a vertical energy axis, groups them into columns by term (by $L$ and by
multiplicity), and draws each tabulated transition as a line connecting its two
levels. Selection rules are visible directly: allowed electric-dipole transitions
connect columns differing by $\Delta L = \pm 1$ with $\Delta J = 0, \pm 1$, and no
allowed line runs within a column.

$$
% caption: A Grotrian diagram reconstructed from a levels table: terms in columns
% by orbital angular momentum, transitions as connecting lines. The sodium D
% doublet is the pair from the 3p levels to the 3s ground state.
\begin{tikzpicture}[scale=1.0, font=\footnotesize, >=stealth]
  \definecolor{acc}{HTML}{4A6FA5}
  % axis
  \draw[->, black] (0,0) -- (0,5.2) node[above] {energy};
  % column headers
  \node[acc] at (1.8,5.0) {S terms};
  \node[acc] at (5.0,5.0) {P terms};
  \node[acc] at (8.0,5.0) {D terms};
  % S levels
  \draw[very thick] (1.0,0.6) -- (2.6,0.6);
  \node[anchor=west, font=\scriptsize] at (2.65,0.6) {3s};
  \draw[very thick] (1.0,3.6) -- (2.6,3.6);
  \node[anchor=west, font=\scriptsize] at (2.65,3.6) {4s};
  % P levels (doublet drawn as two close lines)
  \draw[very thick] (4.2,2.5) -- (5.8,2.5);
  \draw[very thick] (4.2,2.62) -- (5.8,2.62);
  \node[anchor=west, font=\scriptsize] at (5.85,2.55) {3p};
  \draw[very thick] (4.2,4.2) -- (5.8,4.2);
  \node[anchor=west, font=\scriptsize] at (5.85,4.2) {4p};
  % D level
  \draw[very thick] (7.2,4.0) -- (8.8,4.0);
  \node[anchor=west, font=\scriptsize] at (8.85,4.0) {3d};
  % transitions
  \draw[acc, thick] (4.5,2.5) -- (1.6,0.6);
  \draw[acc, thick] (4.7,2.62) -- (1.9,0.6);
  \node[acc, anchor=east, font=\scriptsize] at (2.8,1.55) {D lines};
  \draw[acc, thick] (5.0,4.2) -- (1.9,3.6);
  \draw[acc, thick] (7.4,4.0) -- (5.3,2.62);
\end{tikzpicture}
$$

Reconstructing the diagram is the first step in assigning an unknown spectrum. Given
a levels table, plot the levels, draw only the transitions the selection rules
permit, and the pattern of allowed lines predicts which wavelengths should appear.
The sodium example makes the mechanism concrete: the $3p\to 3s$ transition is the
famous $D$ doublet, two lines at $589.0$ and $589.6\ \mathrm{nm}$ separated by the
$3p$ fine-structure splitting of $17\ \mathrm{cm}^{-1}$, both visible as adjacent
rows in the levels table.

## Assigning a measured spectrum

A recorded spectrum is a list of wavelengths and relative intensities with no labels.
Turning it into physics means matching each line to a tabulated transition.

```algorithm
caption: Assigning an unknown emission spectrum to catalog lines
input: measured wavelengths lambda_meas with intensities
convert each lambda_meas to a wavenumber nu_meas = 1 / lambda_meas
for each pair of measured lines
  compute the wavenumber difference and sum
  test whether either equals another measured line   // Ritz principle
  when it does, record the shared level
build a provisional level scheme from the shared levels
for each candidate element in range
  fetch its NIST levels and lines
  align the provisional scheme against the tabulated levels
  score the match by the number of coincident lines within tolerance
return the element and level assignment with the best score
```

The procedure rests on two facts. The Ritz combination principle links lines that
share a level, so the raw wavelength list already constrains the level scheme before
any element is guessed. And the tabulated $A$-values predict relative intensities, so
a candidate assignment is checked not only on line positions but on whether the strong
lines are the ones the catalog says should be strong. A correct assignment reproduces
both the wavelengths and their intensity ordering.

$$
% caption: A measured spectrum (lower trace, vertical lines by intensity) matched
% against catalog lines (upper ticks). Coincidences within tolerance confirm the
% assignment; an unmatched measured line signals an impurity or a new transition.
\begin{tikzpicture}[scale=1.0, font=\footnotesize, >=stealth]
  \definecolor{acc}{HTML}{4A6FA5}
  % catalog ticks (top)
  \draw[black] (0,3.0) -- (10,3.0);
  \node[black, anchor=east] at (-0.1,3.0) {catalog};
  \foreach \x in {1.2,2.5,3.1,4.8,6.0,7.3,8.6} {
    \draw[black, very thick] (\x,3.0) -- (\x,3.5);
  }
  % measured spectrum (bottom), heights = intensity
  \draw[black] (0,0.4) -- (10,0.4) node[right, black] {wavelength};
  \node[acc, anchor=east] at (-0.1,0.4) {measured};
  \foreach \x/\h in {1.2/1.4,2.5/0.7,3.1/1.9,4.8/0.5,6.0/1.1,7.3/0.9,8.6/1.6} {
    \draw[acc, very thick] (\x,0.4) -- (\x,{0.4+\h});
  }
  % match guides
  \foreach \x in {1.2,2.5,3.1,4.8,6.0,7.3,8.6} {
    \draw[black, dashed] (\x,0.4) -- (\x,3.0);
  }
\end{tikzpicture}
$$

## Computed versus tabulated positions

The database is also the scoreboard for theory. A line position computed from a model
— a Bohr energy, a fine-structure formula, a quantum-defect fit — is compared with the
tabulated wavenumber, and the residual measures where the model stops. The residuals
form a ladder that mirrors the structure of the course.

| Model | Predicts | Residual against NIST | Missing physics |
| --- | --- | --- | --- |
| Bohr / Rydberg | gross structure $\tilde\nu = R_\infty Z^2(1/n_1^2 - 1/n_2^2)$ | $\sim 10^{-4}$ relative | fine structure, spin |
| Fine-structure formula | levels by $(n, j)$ | $\sim 10^{-6}$ relative | Lamb shift, hyperfine |
| Quantum-defect $\tilde\nu = R/(n-\delta_\ell)^2$ | alkali series | fits $\delta_\ell$ to data | core polarization detail |

Each row is a lesson in this course made quantitative. The Bohr model's residual is
the fine structure; the fine-structure formula's residual is the
[Lamb shift](/atomic-physics/qed-corrections-and-hyperfine-structure/lamb-shift-qed)
and the [hyperfine structure](/atomic-physics/qed-corrections-and-hyperfine-structure/hyperfine-structure-21cm);
the quantum-defect fit absorbs core penetration into an empirical $\delta_\ell$ whose
$\ell$-dependence is itself the physics.

### Hydrogen as the benchmark

The residual ladder does not stop at three rungs. In hydrogen the tabulated
transition frequencies are known to a precision that outruns every term in the
fine-structure formula, and the comparison of theory with data becomes a
determination of fundamental constants rather than a check of a model. The
[two-photon](/atomic-physics/lasers-and-spectroscopy/spectroscopy-techniques)
$1S\to 2S$ frequency, measured against a
[frequency comb](/atomic-physics/lasers-and-spectroscopy/spectroscopy-techniques)
locked to a cesium clock, is one of the most accurately known frequencies in nature.
Because the gross-structure prediction is $\tilde\nu = R_\infty(1 - 1/4)$ up to
fine-structure, QED, and finite-nuclear-size corrections, the measured frequency
combined with the calculated corrections yields the

$$
R_\infty = 1.0973731568\times 10^{7}\ \mathrm{m}^{-1}
$$

[Rydberg constant](/atomic-physics/early-models-and-old-quantum-theory/bohr-model-hydrogen)
to twelve significant figures.[^codata] The same fit is sensitive to the proton
charge radius through the finite-size shift of the $S$-states, and the tension
between the value extracted from hydrogen spectroscopy and the value from muonic
hydrogen — the proton-radius puzzle — was a decade-long discrepancy visible only
because the atomic data are this precise. Reading the database at this level is no
longer bookkeeping: the last digits of a tabulated hydrogen line are where atomic
physics tests the Standard Model.

$$
% caption: Residuals of computed line positions against the NIST values, on a log
% scale. Each refinement of the model shrinks the residual to the next layer of
% structure it does not yet contain.
\begin{tikzpicture}[scale=1.0, font=\footnotesize, >=stealth]
  \definecolor{acc}{HTML}{4A6FA5}
  \draw[->, black] (0,0) -- (0,4.2) node[above, font=\scriptsize] {relative residual};
  \draw[->, black] (0,0) -- (9,0) node[right] {model detail};
  % descending bars
  \foreach \x/\h/\lab in {1.6/3.6/Bohr, 4.2/2.4/FS, 6.8/1.2/defect} {
    \fill[acc!14] (\x-0.5,0) rectangle (\x+0.5,\h);
    \draw[acc] (\x-0.5,0) rectangle (\x+0.5,\h);
    \node[anchor=north] at (\x,-0.1) {\lab};
  }
  % descending trend
  \draw[acc, very thick, dashed] (1.6,3.6) -- (4.2,2.4) -- (6.8,1.2);
\end{tikzpicture}
$$

## Using the database as a working tool

The database turns the course's calculations into checkable predictions. A level
scheme comes from the Levels form, read as term symbols and wavenumbers; a line list
comes from the Lines form, read as wavelengths tied to $A$-values and line strengths;
a Grotrian diagram assembles the two into a picture whose allowed transitions are the
selection rules made visible; and an unknown spectrum is assigned by the Ritz
principle and scored against tabulated intensities. The residual between a computed
and a tabulated position is the running measure of how much atomic physics a given
model contains — the same residual that, chased to its smallest values in hydrogen,
turns atomic spectra into the most stringent test of
[QED](/atomic-physics/qed-corrections-and-hyperfine-structure/lamb-shift-qed) and,
through the [optical clock](/atomic-physics/modern-atomic-physics/optical-clocks-precision),
into the definition of the second.

[^codata]: CODATA 2018 recommended value $R_\infty = 10973731.568160(21)\ \mathrm{m}^{-1}$, determined largely from hydrogen and deuterium optical spectroscopy including the $1S$–$2S$ two-photon frequency. <https://physics.nist.gov/cgi-bin/cuu/Value?ryd>. The proton-radius puzzle: the $S$-state finite-size shift ties the spectroscopic Rydberg fit to the proton charge radius, and the muonic-hydrogen value disagreed with the ordinary-hydrogen value for roughly a decade.
[^nist-lines]: NIST Atomic Spectra Database, Lines form documentation — the relations among transition probability $A_{ki}$, absorption oscillator strength $f_{ik}$, and line strength $S = |\langle k\Vert \vec r\Vert i\rangle|^2$, and the air-versus-vacuum wavelength convention above and below $2000\ \mathrm{\mathring A}$. <https://www.nist.gov/pml/atomic-spectra-database>. Sodium level and line values (D-doublet at $589.0$ and $589.6\ \mathrm{nm}$; $3p$ splitting $\approx 17\ \mathrm{cm}^{-1}$; ionization limit $41449\ \mathrm{cm}^{-1}$) are drawn from the same source.
