Parameter history
Bari, NuFit and Valencia, on the same axes
How the oscillation parameters have moved across three independent global analyses, and, in finer grain, across every published update of the Bari fit: best fit and 3σ range, for both mass orderings. No point is interpolated, rescaled or read off a figure.
Compared with the other groups
normal ordering · 8 releases from NuFit and Valencia
Reading a comparison across conventions
The three groups do not report the same quantity. We use Δm² = m₃² − ½(m₁² + m₂²). NuFit reports Δm²₃ℓ, which is Δm²₃₁ > 0 for normal ordering and Δm²₃₂ < 0 for inverted. Valencia reports |Δm²₃₁| for both orderings.
From the identity Δm² = Δm²₃₁ − δm²/2, the correction is −δm²/2 for normal
ordering in every case. In inverted ordering the two groups differ, and the
difference is clearest stated on the modulus, which is what every number on
this page is plotted as. NuFit publishes Δm²₃ℓ = Δm²₃₂ < 0, and adding
δm²/2 to a negative number makes its modulus smaller: the shift is
−δm²/2 for NuFit. Valencia publishes |Δm²₃₁|, already a
modulus, and the same addition makes it larger: the shift is
+δm²/2 for Valencia. Same identity, opposite effect on the
plotted number — which is why this site stores what each paper printed and
converts in code, where the rule can be read:
tools/make_history.py, function to_our_Dm2.
The 3σ ranges are shifted by the same constant as the best fit, computed with δm² at its own best fit. The papers do not publish the joint δm²–Δm² information a rigorous reprojection would need; the resulting error is far smaller than the width of the ranges shown, but it is an approximation and not a re-analysis.
NuFit prints δCP in degrees only, so it does not appear on the δ/π panel. Where a fit has two quasi-degenerate θ₂₃ minima, the marker is the first one quoted and the 3σ range spans both.
δm² / 1e-5 eV² · normal ordering
Best fit with its 3σ range, normal ordering. NuFit 2001 (3.3, in units of 1e-5 eV²) lies far below the rest of this series; drawn at the panel floor and labelled with its value, not to scale, so the later measurements keep their resolution.
|Δm²| / 1e-3 eV² · normal ordering
Best fit with its 3σ range, normal ordering. Values of other groups converted to our convention.
sin²θ₁₂ / 1e-1 · normal ordering
Best fit with its 3σ range, normal ordering.
sin²θ₁₃ / 1e-2 · normal ordering
Best fit with its 3σ range, normal ordering.
sin²θ₂₃ / 1e-1 · normal ordering
Best fit with its 3σ range, normal ordering.
δ/π / 1 · normal ordering
Best fit with its 3σ range, normal ordering.
The 2001 and 2004 entries predate the NuFit name. They are earlier IFIC-Valencia global fits — Gonzalez-Garcia, Maltoni, Peña-Garay and Valle in 2001; Maltoni, Schwetz, Tórtola and Valle in 2004 — grouped here with the later NuFit papers for continuity of lineage, and marked as predecessors rather than presented as NuFit releases. Two of those authors also appear on the Valencia papers listed below, so the three series are less separate before 2012 than three columns suggest.
| Year | Paper | Preprint | Source | Convention |
|---|---|---|---|---|
| 2001 | NuFit (predecessor) — Global three-neutrino oscillation analysis of neutrino data | arXiv:hep-ph/0009350 | Table V/VI, "Solar + ALL-ATM. + CHOOZ" (global combined analysis) | tan2(theta), not sin2(theta), for every mixing angle; Dm2_32 = m3^2-m2^2 reported without a normal/inverted split |
| 2004 | NuFit (predecessor) — Status of global fits to neutrino oscillations | arXiv:hep-ph/0405172 | Table 1 | Dm2_3l = Dm2_31 > 0; no inverted-ordering fit performed |
| 2012 | NuFit — Global fit to three neutrino mixing: critical look at present precision | arXiv:1209.3023 | Table 1, first column Free Fluxes + RSBL | Dm2_3l = Dm2_31 > 0 (NO), Dm2_32 < 0 (IO) |
| 2018 | NuFit — Global analysis of three-flavour neutrino oscillations: synergies and tensions in the determination of θ₂₃, δCP, and the mass ordering | arXiv:1811.05487 | Table 1, lower block with SK-atm | Dm2_3l = Dm2_31 > 0 (NO), Dm2_32 < 0 (IO) |
| 2018 | Valencia — Status of neutrino oscillations 2018: 3σ hint for normal mass ordering and improved CP sensitivity | arXiv:1708.01186 | Table I | |Dm2_31| quoted for both orderings |
| 2020 | NuFit — The fate of hints: updated global analysis of three-flavor neutrino oscillations | arXiv:2007.14792 | Table 3, lower block with SK atmospheric data | Dm2_3l = Dm2_31 > 0 (NO), Dm2_32 < 0 (IO) |
| 2020 | Valencia — 2020 global reassessment of the neutrino oscillation picture | arXiv:2006.11237 | Table III | |Dm2_31| quoted for both orderings |
| 2024 | NuFit — NuFit-6.0: updated global analysis of three-flavor neutrino oscillations | arXiv:2410.05380 | Table 1, lower block IC24, with SK atmospheric data | Dm2_3l = Dm2_31 > 0 (NO), Dm2_32 < 0 (IO) |
The Bari series
11 releases · best fit and 3σ range, for both mass orderings
How to read these panels
Values are shown in the normalisation used in the papers, given under each title. The vertical rule is the 3σ range; the marker is the best fit — a circle for normal ordering, a square for inverted, a diamond where the analysis quotes a single value for both. Hover a marker for the numbers.
All entries use our convention Δm² = m₃² − ½(m₁² + m₂²) and δm² = m₂² − m₁² > 0. Analyses by other groups use different conventions and are not plotted here: the comparison above converts first, and states the conversion.
δm² / 1e-5 eV²
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
|Δm²| / 1e-3 eV²
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
sin²θ₁₂ / 1e-1
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
sin²θ₁₃ / 1e-2
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
sin²θ₂₃ / 1e-1
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
δ/π / 1
Best fit with its 3σ range, by year of publication. Values and sources in the table below.
The releases
11 releases · 393 values, 381 of them checked against the source they name
| Year | Paper | Preprint | Source table | |
|---|---|---|---|---|
| 2006 | Global analysis of three-flavor neutrino masses and mixings | arXiv:hep-ph/0506083 | Eq. (53)-(57), global oscillation analysis | |
| 2008 | Hints of θ₁₃ > 0 from global neutrino data analysis | arXiv:0806.2649 | Eq. (3), all oscillation data | partial update |
| 2011 | Evidence of θ₁₃ > 0 from global neutrino data analysis | arXiv:1106.6028 | Table I (old reactor fluxes) | |
| 2012 | Global analysis of neutrino masses, mixings and phases: entering the era of leptonic CP violation searches | arXiv:1205.5254 | Table I | |
| 2013 | Status of three-neutrino oscillation parameters, circa 2013 | arXiv:1312.2878 | Table I | |
| 2016 | Neutrino masses and mixings: Status of known and unknown 3ν parameters | arXiv:1601.07777 | Table 1 | |
| 2017 | Global constraints on absolute neutrino masses and their ordering | arXiv:1703.04471 | Table I | |
| 2018 | Current unknowns in the three neutrino framework | arXiv:1804.09678 | Table 1 | |
| 2021 | Unfinished fabric of the three neutrino paradigm | arXiv:2107.00532 | Table I | |
| 2025 | Neutrino masses and mixing: Entering the era of subpercent precision | arXiv:2503.07752 | Table I | current release |
| 2026 | Updated bounds on the (1, 2) neutrino oscillation parameters after first JUNO results | arXiv:2511.21650 | Table I, row “w/ SNO+ & JUNO 2025” | partial update |
The solar-sector-only papers of 2002–2003 that precede this series are deliberately not on this page: none of them tabulates the full parameter set this page tracks. They are listed, with the reason, in the excluded section of the source data (site-src/data/history.yaml).
The register as data
same rows, two formats, stable URLs
| File | Format | URL |
|---|---|---|
| Parameter history | JSON | /data/history.json |
| Parameter history | CSV | /data/history.csv |
Both files hold exactly the same rows and the same columns — CSV for a
spreadsheet or a quick pandas.read_csv, JSON for a script. The
URLs are stable: a regenerated release corrects rows in place, it does not move
the file. They are written by tools/make_history_data.py from the
same history.yaml this page is drawn from, so the page and the
files cannot disagree — nothing is retyped between them.
The JSON file is an object, not a bare array: the rows sit
under a rows key, and beside them a note says in one
sentence what the two value columns mean, so a copy that has been downloaded
and passed on still carries its own reading instructions. The CSV has nowhere
to put that note: its first line is the header of the 13 field names,
and every line after it is one row, in the same order.
The two value columns
Every row carries the value twice, under names that cannot
be confused. value_as_published is exactly what the paper printed,
in the paper's own convention and normalisation.
value_our_convention is the same quantity converted to ours:
δm² = m₂² − m₁² > 0 and Δm² = m₃² − (m₁² + m₂²)/2.
Only Dm2 is ever converted. NuFit reports Δm²₃ℓ and Valencia
reports |Δm²₃₁| for both orderings — neither is our Δm², and the sign
of the correction is not even the same for the two groups, as the note at the
top of this page works through. The conversion lives in one function,
to_our_Dm2() in tools/make_history.py, and nowhere
else. For every other parameter, and for Bari's own Dm2 which
already is our convention, the two columns hold the identical number. That
repetition is deliberate: a downloader gets one column that is directly
comparable across all six parameters and all three groups, without first having
to know which value needed the arithmetic.
| Field | Meaning |
|---|---|
group | bari, nufit or valencia |
year | Publication year of the release, as used on this page |
arxiv | arXiv identifier of the source paper |
journal | Full journal citation |
table | The table or equation, inside that paper, the value is transcribed from and checked against |
parameter | One of dm2 (δm²), Dm2 (Δm²), sin2_th12, sin2_th13, sin2_th23, delta_pi (δ/π) |
ordering | no (normal), io (inverted) or any (the paper quotes one value for both, or does not split by ordering) |
convention | The release's own stated mass-splitting convention, verbatim from history.yaml |
kind | measurement (a best fit) or limit (a bound with no measured central value) |
value_as_published | The number as printed in the paper — see the two value columns, above |
value_our_convention | The same quantity in this group's convention — see the two value columns, above |
unit | The normalisation the value is written in: 1e-2 means the printed digits are hundredths |
level | For a limit row only: the confidence level the bound holds at (3sigma, 2sigma, 90%CL or 95%CL). A measurement row has none, and each format says so in its own way: null in JSON, an empty field in CSV |