For thirty years the field assumed somebody had made a mistake. Four groups had it right all along, and what looked like their disagreement was a curve nobody had thought to plot.
🎯 Why this matters
The argument that finally bit was the one anchored to a conservation law. Gallium’s dominant component follows from the Sun’s luminosity alone, so no adjustment to the stellar model could move it — and a number nobody can tune is the only kind that settles a dispute.§10.3 built the mechanism and produced one number: 2 MeV, above which the Sun converts its electron neutrinos and below which it merely lets them oscillate. This section is the thirty-four years it took to get there.
The solar neutrino puzzle solar neutrino puzzle the measured solar ν_e flux coming out a third to a half of the SSM prediction, from Homestake in 1968 until SNO in 2002. Resolved as neutrino physics rather than solar physics: the first experimental evidence for anything beyond the Standard Model. defined in §10.4 — open in glossary is not a story of one experiment. It is a story of four, each measuring a different part of the solar spectrum, each finding a different deficit, and each being suspected of having got it wrong. The deficits were 1/3, 1/2 and 0.55. Nobody could see why they disagreed until the mechanism above was on the table, and then the disagreement turned out to be the signal.
Counting argon atoms
The idea is Pontecorvo’s, from 1946, made quantitative by Alvarez in 1949: put a lot of chlorine somewhere quiet and count how much of it turns into argon.
Bettini p. 457. Inverse beta decay on a nucleus — the first way anyone found to detect a solar neutrino.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
💡 What this really says — radiochemistry as a detector — a handful of atoms out of 10³⁰
There is no detector here in the usual sense — no pulse, no track, no photomultiplier. The neutrino arrives, converts one chlorine nucleus, and the resulting argon atom sits in the tank for weeks until somebody flushes it out with helium and counts its decays in a proportional counter.
Radiochemistry as a detector. The signal is a handful of atoms out of , extracted chemically. It works because argon is a noble gas and chlorine is not, so the separation is essentially perfect — the same reason the gallium experiments later used germanium in gallium.
🔬 Experiment card — Homestake, and the beginning of the puzzle
Apparatus
615 t of perchloroethylene — dry-cleaning fluid, — in a tank 1600 m underground in the Homestake gold mine, South Dakota. Every few weeks the accumulated ³⁷Ar atoms are swept out with a helium stream and counted.
What is measured
The capture rate per target atom, in solar neutrino units solar neutrino unit SNU, 10⁻³⁶ captures per target atom per second. A unit invented because the raw rate is about one atom of argon per day in 615 t of dry-cleaning fluid. defined in §10.4 — open in glossary : 1 SNU = 10⁻³⁶ captures per atom per second. The expected yield is about one argon atom per day in 615 t, and the counting rate is a few events per month — which is why it had to be deep underground and made of radioactively clean materials.
The result
Running from 1968 to 1994, a quarter of a century:
against the standard solar model solar standard model SSM, Bahcall's calculation of the Sun's structure and its neutrino output. Its ⁸B flux depends on the core temperature as T¹⁸, which is precisely why a discrepancy there was blamed on the model for thirty years. defined in §10.4 — open in glossary ’s .
What it proved
About one third of the expected rate — a discrepancy visible in the very first results in 1968 and never resolved by any amount of further running. For thirty years the majority view was that Davis had underestimated a systematic or that Bahcall’s model was wrong. Both were right, and neither was the problem.
Bettini p. 458. Twenty-five years of running, against forty years of solar modelling.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
💡 What this really says — why the solar model was the suspect for thirty years
, and the two error bars do not come close to bridging it. The measurement was right, the model was right, and something happened to the neutrinos in between — but with one experiment at one energy there was no way to tell which of the three was at fault.
The reason the model was blamed for so long is worth stating plainly: the prediction goes as . A 4 % error in the solar core temperature would erase the whole discrepancy, and nobody could measure the core temperature to 4 %.
A second energy, a different answer
Kamiokande in 1987, and later Super-Kamiokande, used a completely different reaction.
Bettini p. 458. Elastic scattering off electrons — and note the subscript x: this reaction is NOT flavour-blind, but it is not flavour-pure either.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
💡 What this really says — elastic scattering counts the converted neutrinos too, at 16 % weight
, where Homestake got 0.32. Two experiments, two different answers, and in 1990 that looked like one of them being wrong.
It is not. Elastic scattering counts converted neutrinos too, at 16 % weight. If the true survival probability is , the measured ratio is . Invert it: . Homestake’s 0.32 and Kamiokande’s 0.41 are the same physics reported through two different sensitivities.
Kamiokande did something no radiochemical experiment could, though: it measured the direction of the recoiling electron and showed the neutrinos came from the Sun. The first neutrino telescope.
The pp neutrinos, and the argument that closed the solar option
Only one component of the flux is fixed by something other than the model: the pp neutrinos, whose rate follows from the solar luminosity with 2 % uncertainty. Measuring them needs a 233 keV threshold, and that means gallium.
Bettini p. 459, with the target isotope corrected from ¹⁷Ga — see the erratum below. GALLEX used 30 t of gallium at Gran Sasso, SAGE 60 t at Baksan.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
💡 What this really says — pp alone fills the gallium budget, and pp cannot be absent
— a third deficit, and a milder one. Three experiments now disagreed: 0.32, 0.41, 0.55. Each was suspected in turn.
But look at what the gallium number is nearly equal to. The SSM says pp alone contributes about 70 SNU, and pp is fixed by the luminosity. The total measured rate is 69.3 SNU. If pp is really there, there is no room in the budget for anything else — and there must be something else, because ⁸B was measured and ⁸B is made from ⁷Be.
🔢 Worked example — GALLEX 1995 kills the astrophysical solution
The “solar solution” was that the core is a little cooler than modelled. It has a signature: the ⁸B flux collapses as while pp barely moves, because pp is tied to the luminosity. So the test is whether pp plus the measured ⁸B already overfills the gallium budget.
The gallium budget, with pp fixed by the luminosity
# GALLEX 1995: the solar solution cannot survive its own budget.
# Standard-solar-model gallium rates, SNU (Bahcall):
ssm = {"pp": 69.7, "7Be": 34.2, "8B": 12.1, "pep": 2.9, "CNO": 9.8}
print(f"SSM total = {sum(ssm.values()):.1f} SNU (the book quotes 126 +- 10)")
print(f"measured = 69.3 +- 4.1 +- 3.6 SNU\n")
# pp is fixed by the luminosity, whatever the Sun's temperature does.
# 8B is not calculated but MEASURED, by the water Cherenkov: 2.35/5.69 of the SSM.
pp = ssm["pp"]
b8 = ssm["8B"] * (2.35/5.69)
print(f"pp from the solar luminosity alone : {pp:5.1f} SNU")
print(f"8B as measured by Cherenkov : {b8:5.1f} SNU")
print(f" sum : {pp+b8:5.1f} SNU > 69.3 measured\n")
print(f"so the 7Be contribution has room for {69.3 - (pp+b8):+.1f} SNU,")
print(f"where the SSM needs {ssm['7Be']:.1f} — and 7Be MUST be there, because 8B is its daughter.") SSM total = 128.7 SNU (the book quotes 126 +- 10)
measured = 69.3 +- 4.1 +- 3.6 SNU
pp from the solar luminosity alone : 69.7 SNU
8B as measured by Cherenkov : 5.0 SNU
sum : 74.7 SNU > 69.3 measured
so the 7Be contribution has room for -5.4 SNU,
where the SSM needs 34.2 — and 7Be MUST be there, because 8B is its daughter. The budget is already overdrawn by 5 SNU before beryllium is counted. And beryllium cannot be absent: every ⁸B nucleus is made by adding a proton to a ⁷Be, so measuring ⁸B proves ⁷Be exists.
There is no astrophysics that fixes this. Cooling the core suppresses ⁸B fastest of all and leaves pp alone, which makes the contradiction worse, not better. By 1997, after calibrations with artificial neutrino sources and independent cross-section measurements, the conclusion was accepted: the neutrinos, not the Sun. The first experimental evidence for physics beyond the Standard Model.
Erratum — ¹⁷Ga is not a nuclide, and the GALLEX ratio is stated upside down
Two slips on p. 459.
Eq. (10.53) prints . Gallium has ; seventeen nucleons cannot hold thirty-one protons. The target is ⁷¹Ga, as the product ⁷¹Ge — printed correctly in the same equation — requires. A transposed 71.
“The ratio between the expected and measured rate was about 60 %.” The quantity that is about 60 % is measured/expected: (10.54) and (10.55) give . Expected over measured is 1.8. The two nouns are the wrong way round.
(And a small anachronism in the same paragraph: the 1995 argument is credited to ⁸B “as measured by Super-Kamiokande”, which did not start taking data until 1996. The measurement available in 1995 was Kamiokande’s. The argument is unaffected.)
Three deficits, one curve
🔢 Worked example — the disagreement was the discovery
Correct the Cherenkov result for its neutral-current sensitivity, then put all three on the survival curve §10.3 predicts.
Three 20th-century results, one MSW curve
import numpy as np
# The three "discrepant" 20th-century results, put on one curve.
# Cherenkov elastic scattering is NOT a pure nu_e probe: nu_mu,tau scatter too,
# with 0.16 of the cross-section, so the apparent ratio is 0.84 P_ee + 0.16.
runs = [("Homestake Cl", 2.56, 8.1, "8B + 7Be", 7.0, False),
("Kamiokande ES", 2.35, 5.69, "8B only", 10.0, True),
("GALLEX Ga", 69.3, 126.0, "mostly pp", 0.3, False)]
print(f"{'experiment':15s}{'measured/expected':>19s}{'-> true P_ee':>14s} samples")
for name, meas, exp, what, E, es in runs:
r = meas/exp
P = (r - 0.16)/0.84 if es else r
print(f"{name:15s}{r:19.3f}{P:14.3f} {what} (~{E:g} MeV)")
hbarc, GF = 1.9732698e-7, 1.1663788e-23
dm2, th, N0 = 73.4e-6, np.deg2rad(33.5), 6e31
def Pee(E):
A = 2*np.sqrt(2)*GF*(N0*hbarc**3)*(E*1e6)
tm = 0.5*np.arctan2(dm2*np.sin(2*th), dm2*np.cos(2*th) - A)
return 0.5 + 0.5*np.cos(2*tm)*np.cos(2*th)
print("\nMSW prediction from section 10.3, at the same energies:")
for name, _, _, _, E, _ in runs:
print(f" {name:15s} E ~ {E:5.1f} MeV -> P_ee = {Pee(E):.3f}") experiment measured/expected -> true P_ee samples Homestake Cl 0.316 0.316 8B + 7Be (~7 MeV) Kamiokande ES 0.413 0.301 8B only (~10 MeV) GALLEX Ga 0.550 0.550 mostly pp (~0.3 MeV) MSW prediction from section 10.3, at the same energies: Homestake Cl E ~ 7.0 MeV -> P_ee = 0.353 Kamiokande ES E ~ 10.0 MeV -> P_ee = 0.329 GALLEX Ga E ~ 0.3 MeV -> P_ee = 0.566
Read the two blocks against each other. 0.316 against 0.353. 0.301 against 0.329. 0.550 against 0.566. Three experiments that spent two decades apparently contradicting one another are three points on one curve, and the agreement is at the 10 % level using nothing but a single effective energy per experiment.
The disagreement was never noise or systematics. It was the energy dependence of the MSW effect, sampled at three energies by three technologies, none of which could see the shape on its own. That is the shape of a great deal of experimental physics: the anomaly that will not go away is often the measurement.
SNO: count the ones that got away
Every experiment so far was blind to and — Homestake and gallium completely, the Cherenkov detectors at 16 % weight. SNO used heavy water, and deuterium can be broken up by any flavour.
🔬 Experiment card — SNO, and the end of the puzzle
Apparatus
1000 t of heavy water, , in a clean hall 2000 m down a nickel mine in Ontario. Observations from 1999. Sensitive to ⁸B neutrinos, the high-energy end of the spectrum.
What is measured
Three rates in one detector: the charged-current rate, which only can produce; the neutral-current rate, which every flavour produces with the same cross-section; and elastic scattering, which weights them 1 : 0.16. Three measurements of two unknown fluxes.
The result
and . The three bands in Fig. 10.13 cross in one region, so the over-determined system is consistent.
What it proved
The total flux of all flavours agrees with the solar model. The electron neutrinos were not destroyed, absorbed or decayed — they became muon and tau neutrinos, and the solar model had been right the whole time. 2002, and the 2015 Nobel Prize alongside Super-Kamiokande.
Bettini p. 460. The two reactions that make SNO work — and the fact that they happen in the same tank is the whole design.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
💡 What this really says — a measurement divided by a measurement, not by a prediction
Two reactions on the same nucleus, one flavour-selective and one flavour-blind. Their ratio is the survival probability, and it needs no solar model at all — the flux cancels.
That is the difference between SNO and everything before it. Every earlier result was a measurement divided by a prediction, and could always be blamed on the prediction. SNO’s key number is a measurement divided by a measurement.
⚙️ Engineer’s bridge — why thirty years of running did not settle it
Homestake ran for twenty-five years and ended with statistical and systematic uncertainties that were equal: ±0.16 and ±0.16. That is the signature of a measurement that has hit its systematic floor, and past that point integration time buys nothing — a curve you have watched flatten out on every long average you have ever taken.
But the binding uncertainty was not even in the instrument. It was the ±16 % on the prediction, driven by a core temperature entering as . The experiment was quoting a ratio whose denominator nobody could pin down, so more data could not decide anything. Thirty years of “somebody’s systematic” was, in effect, thirty years of arguing about a reference that did not exist.
The fix is the one you would reach for: build the reference into the instrument. SNO put a flavour-blind channel and a flavour-selective channel in the same tank, on the same nuclei, exposed to the same flux, and read out their ratio. The flux, the target mass, the live time and the solar model all cancel — the same reason you measure a resistor against a reference resistor on the same die rather than against an absolute standard across the lab.
Where it breaks: an on-chip reference is chosen; SNO’s was a gift of nuclear physics. Deuterium happens to have a 2.2 MeV binding energy and a neutral-current breakup channel with a flavour-independent cross-section. Nobody could have designed that, and without it there is no clean ratio to take.
- Φ_SSM — the solar model, (10.52)
- Φ_NC — all flavours, (10.59)
- Φ_ES — Super-K elastic, (10.51)
- Φ_CC — νₑ only, (10.58)
- the one point all three allow
Bettini p. 461, with the exponent corrected from 10⁸ — see the erratum below.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
🔢 Worked example — three bands, two unknowns, one consistency test
The book says “having three relationships between two unknown quantities, we can check for consistency. This is proven by the fact that the three bands cross in the same area.” That is a with one degree of freedom, and it can be computed:
Fit the three SNO/SK constraints
import numpy as np
# Three measurements, two unknowns: Phi(nu_e) and Phi(nu_mu,tau), in 1e10 m^-2 s^-1
# CC (10.58): x = 1.68 +- 0.11
# NC (10.59): x + y = 4.94 +- 0.42
# ES (10.51), SK: x + 0.16y = 2.35 +- 0.08
M = np.array([[1.0, 0.0], [1.0, 1.0], [1.0, 0.16]])
v = np.array([1.68, 4.94, 2.35])
s = np.array([np.hypot(0.06, 0.085), np.hypot(0.21, 0.36), np.hypot(0.02, 0.08)])
W = np.diag(1/s**2)
C = np.linalg.inv(M.T @ W @ M)
x, y = C @ (M.T @ W @ v)
chi2 = float((v - M @ [x, y]) @ W @ (v - M @ [x, y]))
print(f"best fit: Phi(nu_e) = {x:.2f} +- {np.sqrt(C[0,0]):.2f}")
print(f" Phi(nu_mu,tau) = {y:.2f} +- {np.sqrt(C[1,1]):.2f} (x1e10 m^-2 s^-1)")
print(f"chi^2 = {chi2:.2f} for 1 degree of freedom -> the three bands really do cross\n")
print(f"total = {x+y:.2f} against the SSM's 5.69 +- 0.91 (10.52)")
print(f"P_ee = {x/(x+y):.3f} and sin^2(theta_12) = 0.304")
print(f"nu_mu,tau appeared at {y/(x+y)*100:.0f} % — they were never missing, only invisible") best fit: Phi(nu_e) = 1.75 +- 0.08
Phi(nu_mu,tau) = 3.41 +- 0.41 (x1e10 m^-2 s^-1)
chi^2 = 1.17 for 1 degree of freedom -> the three bands really do cross
total = 5.16 against the SSM's 5.69 +- 0.91 (10.52)
P_ee = 0.340 and sin^2(theta_12) = 0.304
nu_mu,tau appeared at 66 % — they were never missing, only invisible for one degree of freedom. The over-determination is satisfied, which is what “the three bands cross in the same area” means quantitatively.
And the survival probability falls out at 0.340, against — the high-energy plateau of §10.3, measured without any solar model at all.
Erratum — (10.58) and (10.59) are 10¹⁰ m⁻²s⁻¹, not 10⁸
Both SNO fluxes are printed with the exponent . It should be , a factor of 100, and the book supplies three refutations:
- Its own Fig. 10.13, on the facing page, has axes in cm⁻²s⁻¹ × 10⁶ with the CC band at 1.68 and the NC diagonal at 4.94. cm⁻²s⁻¹ is m⁻²s⁻¹.
- Its own (10.51) and (10.52), three pages earlier, give the elastic and SSM fluxes — the same quantity in the same units — as m⁻²s⁻¹.
- Its own next sentence: “the total neutrino flux agrees with the predictions of the SSM”. does not agree with ; does, comfortably.
(A cross-reference slip in the same paragraph: the survival probability “well below and above the resonance is given by (10.46) and (10.45)”. (10.45) is the oscillation amplitude , not a survival probability; the high-energy is (10.44).)
Borexino, and the shape of the curve
SNO measured the high-energy plateau. Homestake and gallium had, without knowing it, measured points on either side. What was missing was the transition — the few MeV where the Sun stops oscillating and starts converting, which is the one place the MSW prediction is sharp.
Borexino did it: 100 t of hyper-pure liquid scintillator at Gran Sasso, clean enough to see the monoenergetic ⁷Be line at 0.86 MeV and the pep line at 1.44 MeV — both below the resonance — as well as pp and ⁸B.
Fig. 10.14 — the survival curve, with the data on it
- m̃²₂ — the state a solar νₑ is born in
- m̃²₁
- νₑ diagonal element
- ν_α diagonal element
This neutrino never meets the resonance. The density it would need is 7.54e+31 m⁻³, more than the 6.0e+31 m⁻³ at the centre of the Sun, so it propagates as if in vacuum, oscillates on the way out, and arrives with the oscillation averaged: 1 − ½sin²2θ = 0.576.
Drag the energy slider through 1.9 MeV and watch the red line cross the grey one. That single crossing splits the solar neutrino spectrum in two, and it is why thirty-four years of experiments at different energies measured three different deficits.
💡 What this really says — the curve was not fitted to these points — they landed on it
The curve is not fitted to these points — it is §10.3’s formula with and from elsewhere, and the points land on it.
Notice which measurement does the most work. The two plateaus each measure , and they agree. But the position of the step measures and the solar core density together, and it is the only place in solar physics where the MSW prediction cannot be mimicked by rescaling a flux. Borexino’s pep point at 1.44 MeV, sitting right on the shoulder, is the hardest measurement on the plot and the most informative.
KamLAND: the same physics, made on Earth
Solar data give and together, but weakly — the survival probability depends on only through the position of the step. KamLAND settled it by reproducing the effect with reactors.
🔬 Experiment card — KamLAND
Apparatus
1 kt of ultra-pure liquid scintillator in the old Kamiokande cavern, watching the from 55 Japanese nuclear power plants. Because Japanese reactors sit on the coast and Kamioka is inland, most of them are at roughly the same distance — a flux-weighted km.
What is measured
Inverse beta decay, as at Daya Bay: a prompt positron above a 2.8 MeV threshold, then a 2.2 MeV gamma from neutron capture on hydrogen, in delayed coincidence. MeV. The spectrum is compared against the expectation computed from every reactor’s power history and distance.
The result
A deficit, and — plotted against — a visible oscillation pattern, not a flat suppression. Fitting it with and free gives values that agree with the solar ones.
What it proved
That the parameters extracted from a star, through a mechanism nobody could switch off, describe antineutrinos from power stations 180 km away in vacuum. Two completely different systems, one pair of numbers. It is also where geoneutrinos geoneutrinos electron antineutrinos from ²³⁸U, ²³²Th and ⁴⁰K decays inside the Earth. A background for reactor experiments and a measurement of the planet's radiogenic heat in their own right; only U and Th reach above the 1.8 MeV inverse-beta-decay threshold. defined in §10.4 — open in glossary had to be subtracted — antineutrinos from uranium and thorium decaying inside the Earth, a background here and a measurement of the planet’s radiogenic heat in their own right.
- three-flavour best fit
💡 What this really says — everything else measured a level; KamLAND measured a frequency
Everything else in this section measured a level. KamLAND measured a frequency, and that is what pins .
Compare with the atmospheric case in §10.2b: Super-Kamiokande’s upward-going neutrinos were past the washout and gave the plateau, while the transition region gave . Same structure, twenty-five times slower, and the plot has the same two features. The dashed line here is the level the Sun sees, and the wiggle around it is the part only a terrestrial experiment can resolve.
| Experiment↕ | Technique↕ | Threshold↕ | Sees↕ | measured / expected↕ |
|---|---|---|---|---|
| 615 t C₂Cl₄, radiochemical | 814 keV | νₑ only · ⁸B + ⁷Be | 0.32 | |
| Kamiokande / Super-K | ~5 MeV | νₑ fully, ν_μτ at 16 % · ⁸B | ||
| 30 t gallium, radiochemical | 233 keV | νₑ only · mostly pp | 0.55 | |
| 60 t gallium, radiochemical | 233 keV | νₑ only · mostly pp | 0.56 | |
| 1000 t D₂O, CC + NC + ES | ~5 MeV | 0.34 | ||
| 100 t hyper-pure scintillator | ~200 keV | νₑ · pp, ⁷Be, pep, ⁸B | four points |
Ratios are measured/expected as quoted in the text. The Cherenkov ratio is not a pure survival probability — elastic scattering counts ν_μ and ν_τ at 16 % weight.
🔑 If you remember only three things
-
Three bands and two unknowns is a test, not a fit. SNO measured one quantity more than it needed, so the bands meeting was an outcome the experiment could have failed to produce.
-
All four groups were doubted and all four were right. The explanation that survived was never on the list, because it needed physics the Standard Model does not contain.
-
The Sun sorts its neutrinos, so no single-energy experiment could win. Four detectors with four thresholds were four samples of one curve, and only together did they have a shape.
Where this goes next
The puzzle is closed. Electron neutrinos leave the Sun’s core, cross a resonance on the way out, and arrive as mostly ; the total flux was always what the solar model said; and the same and describe reactor antineutrinos in Japan.
What remains is everything the two oscillation programmes cannot reach. §10.5 goes after the CP-violating phase — visible only in appearance channels, and only because turned out not to be zero — and then turns to the question no oscillation experiment can ever answer: the absolute mass scale, from the end point of tritium beta decay and from cosmology.
§10.7 asks the deepest one: whether the neutrino is its own antiparticle.
✅ Check yourself — the solar neutrino puzzle
0/6 answered · 0 correct
1.Homestake measured 0.32 of the expected rate and Kamiokande 0.41. In 1990 that looked like one of them being wrong. What was actually going on?
2.GALLEX's 1995 argument is said to have excluded the astrophysical solution. What is the argument?
3.Why was SNO's result decisive when thirty years of previous measurements were not?
4.SNO plus Super-K give three constraints on two unknown fluxes. Which statements about that over-determination are right? (Select all that apply.)
5.Borexino measured four points across the solar spectrum rather than one number. Which point is the most informative, and why?
6.KamLAND sees reactor antineutrinos at 180 km. What does it add that solar data cannot give?