Skip to content

Study 55 IceCube Light In The Ice

rg78803 edited this page Oct 7, 2026 · 1 revision

Study 55 β€” IceCube: the light in the ice, hit by hit

Status: CALIBRATED HITS READ β€” 2026-10-07 β€” 4 published files opened by the law on the Mac that wrote this page; 9,749 events, 2,289,821 hits; every Open Data hit joined to its (string, om) bit for bit and every Glashow pulse by the (string, om) it names; census and index seals per file, pinned in the law (law v1). The IDE carries G, N and the catalogue inside it and fetches L and T from affine.earth, which serves all six study files on 9 of 9 cells (CORRECTED 2026-10-07 β€” earlier the same day they answered HTTP 404; shipped at 20:51 UTC, ICECUBE_SERVED_9, each at its manifest bytes and sha256), so an installed IDE seals 4 of the 4 (Β§6). Direction, energy, flavour and origin: NOT YET MEASURED at this tier.
Program index Β· Study board Β· Study 50 β€” CMS raw data from the LHC


For every reader β€” one paragraph

Under the South Pole, a cubic kilometre of clear ice is threaded with light sensors: 86 cables, 60 sensors on each in the ice, 5,160 in all. This is the IceCube Neutrino Observatory. A neutrino that interacts in the ice makes a faint flash, and every sensor the light reaches writes down two things β€” when the light arrived and how much of it there was. IceCube publishes some of those recordings before any interpretation is applied to them; its Open Data project calls them "calibrated IceCube data, without reconstructions". Study 55 reads exactly those bytes. Four published files β€” 9,749 recorded events, 2,289,821 single hits of light β€” are opened by Affine's own Swift, with no IceCube software. Every value is held as the exact number the file stores; no value is rounded. Every hit is placed on the sensor that recorded it β€” in the Open Data files by matching its stored position, bit for bit, against IceCube's own published map of the detector β€” and all 2,289,821 are placed, none left off the map. In the Affine IDE the detector stands as a hologram you can turn in your hands, and each event lights up sensor by sensor in the order its light arrived. Every count is sealed with SHA-256, so anyone who runs the study on any computer reaches the same seals. What hits alone do not carry β€” the direction a neutrino came from, its energy, its kind, its origin β€” is stated as not measured at this tier. IceCube's own published results from these detectors sit beside the hits, labelled as theirs.


1 Β· The files

  • G β€” 20210310_IceCube_data_for_the_first_Glashow_resonance_candidate.zip, 371,342 bytes. Calibrated hits: one event's 18,135 pulses, the detector geometry (5,489 rows), 111 DOMs listed inactive or defective and 66 exclusion windows β€” plus three CSV files of IceCube's reconstruction and fit.
  • N β€” neutrinos_run_121585.odf.gz, 233,982 bytes. Calibrated hits: run 121585, 2013, 71 events, 15,975 hits β€” the neutrino-enriched sample of 10 January 2013, as the project page lists it.
  • L β€” LargeNChSample_122252.odf.gz, 28,203,163 bytes. Calibrated hits: run 122252, 2013, 1,329 events, 1,788,984 hits β€” the large-NChannel sample of 27 April 2013, as the project page lists it.
  • T β€” test-data.tgz, 9,118,372 bytes. Calibrated hits: run 115150, 2010 (IC59 in the file name), 8,348 events, 466,727 hits, with the geometry file for that run.
  • H β€” eventsummary.txt, 3,213 bytes. IceCube's published catalogue: 28 rows of their reconstructed energy, time, direction and angular resolution, labelled theirs everywhere in this study (Β§7).

G is the IceCube data release of 2021-03-10 for the first Glashow-resonance candidate, DOI 10.21234/gr2021. N, L and T come from the IceCube Open Data Format project. H sits inside the zip of the 2013 HESE data release (18,812,495 B, sha256 7f4a529178d595987a6bab3f8700bbf0e405a42aed93342631330c54b5e200f7). G, N, L and T are the calibrated hits; H is IceCube's reconstruction, as published.

sha256 of the file as published
G 64c31773fe21b1dc6268da69f2f5427a8d22663b44fc4514a368385c1e455c88
N 4e380dd9400a53b9d35c7f601036f7a50f0fe925d03a1b120ce1647c2d4a4966
L f3886f083596e3c2cd541ff7786bd5ac8a0d6d760acec42b777ce385d3e6ba60
T 64f85e5a3d199b3cea5ac01925aa1e4d01f9a3bc9f0db866eb19088f3408a367
H a3888d159f9b0a1b8e4c07dff5a8d86968ef1ca5c15f72a461c61366a80571d9

The byte counts and digests of G, N, L and T are the law's own print (Β§4); H's are the manifest's pin, which the prover reads VERIFIED from the checkout. Each source URL answered HTTP 200 with that content length on 2026-10-07:

No licence statement was found on either release page or inside the archives. The Glashow release gives a suggested citation, used in Β§7. IceCube's format tools, odf_tools.tgz (6,252 B, sha256 ff9e53144ea7768cf572f6bfd2caf25dc164a2ea05285c3c429ad89fab7af227), were read as a description of the byte layout. They were never run and are not part of the study.

When the bytes were recorded. startTime counts tenths of a nanosecond from 1 January of the event's year; the day index below counts from 0 on 1 January. The time scale (UTC or GPS) is not stated.

File Time in the bytes, as the law prints it
T run 115150, 2010: day 0 16:44:13.1945487298 … day 0 16:45:35.8034004069
N run 121585, 2013: day 8 23:07:57.6968501434 … day 9 03:07:12.8495407656
L run 122252, 2013: day 116 03:46:39.8214307428 … day 116 03:57:56.2844899400
G no run, year or time in the release bytes; the date is in the Nature paper, cited and not ingested
H (catalogue) MJD 55351.3222110 … 56048.5704171

The law compares those days with the catalogue's, day by day only, because the time scale is not stated. Its words, as the prover printed them with all four files open (chapter 7 in the IDE's chat, under IceCube's table):

The catalogue's times run MJD 55351.3222110 … 56048.5704171 (days 55351 … 56048). The ODF files' own startTimes, as each census reads them: N run 121585 on days 8–9 of 2013 (MJD 56301–56302), after the catalogue's last day; L run 122252 on day 116 of 2013 (MJD 56409), after the catalogue's last day; T run 115150 on day 0 of 2010 (MJD 55197), before the catalogue's first day. The Glashow release carries no time in its bytes.
By day, 0 of 28 rows fall on a day an open ODF file recorded (N, L, T); the Glashow release's bytes carry no time.

2 Β· How the bytes are read

The containers. N and L are gzip members; T is a gzip member holding a tar archive whose two files are a geometry table and a second gzip member holding the events; G is a zip archive. Affine opens all three kinds itself, with the same inflater Study 50 uses for CMS: every CRC-32 is checked against the archive's own, every length against the stated length, and each zip member's local header is cross-checked against the central directory. A mismatch is refused by name (GZIP_CRC, ZIP_CRC, TAR_SIZE and their siblings) and a refused file has no census and no seal.

An Open Data Format event (N, L, T). There is no file header and no event number: events follow one another until the file ends, every integer big-endian.

Offset Width Field What the law checks
+0 4 run, u32 at least 32 bytes remain, or ODF_TRUNCATED
+4 4 year, u32
+8 8 startTime, u64 β€” tenths of a ns since 1 January of year
+16 8 eventLength, an ODF number (below)
+24 8 ntriggers, u64 ODF_TRIGGERS if the triggers cannot fit
then, per trigger 8 + 4 + n trigger time (ODF number), name length u32, ASCII name ODF_TRIGGER_NAME on a byte outside 0x20–0x7E
then 8 nhits, u64 ODF_HITS_PAST_END if nhits Γ— 40 exceeds the bytes left
then, per hit 40 q, t, x, y, z β€” five ODF numbers
end of file β€” β€” the last event ends exactly at the last byte, or ODF_TRUNCATED

IceCube's format page gives the trigger count as 4 bytes; IceCube's own reader uses 8, and so do the files: read with 4 bytes, the first event of the test data is refused (the law's arm 4, below). Every refusal is raised before any digest is computed.

The ODF number. IceCube's format page calls these 8-byte values floats. Its own encoder writes them another way: a sign bit s, an 11-bit exponent E and a 52-bit integer M, with the value (βˆ’1)^s Β· M Β· 2^(Eβˆ’1023) / 10^15. That is a decimal-scaled mantissa, not an IEEE-754 double, and its exact value is always a terminating decimal. Affine reads each value as its 64-bit pattern and holds (s, E, M) as integers; nothing becomes a float. The difference is visible on the first event of the test data, whose length is stored as 4042386f26fc1000: read as IEEE-754 it would be 36.440892…; read the encoder's way it is exactly 20.

IceCube's Open Data page prints that same event as an example: run 115150, start 2010-01-01 16:44:13.1945487298, eventLength 20.0, two triggers at 10000.0 (IN_ICE_STRING and IN_ICE_SIMPLE_MULTIPLICITY), 30 hits. The law's reading of the bytes gives the same run, start, length, triggers and hit count, with hit 0's five values (q, t, x, y, z) held exactly:

Study 55 calibrated-hit law 4. PLANTED a 4-byte ntriggers (the page text) is refused at event 0: ODF_HITS_PAST_END: event 0: nhits 9677450012, 1267 bytes left; with 8 bytes: 2 triggers (IN_ICE_STRING, IN_ICE_SIMPLE_MULTIPLICITY at 10000, 10000), 30 hits
Study 55 calibrated-hit law 5. PLANTED an IEEE-754 reader of 4042386f26fc1000 gives 36.440892098…, not 20; the ODF reader gives 20 and hit 0 = 0.2717622308829695 | 11293.742776375492608 | 114.389999389648384 | -461.989990234374656 | -369.390014648437248; startTime 602531945487298 = day 0 16:44:13.1945487298
Study 55 calibrated-hit law 1. PLANTED bit 0 of T event 0's eventLength (…1000 β†’ …1001) reads 20.000000000000032 and moves the index seal cee6fbcf121b… β†’ 560d35056c3d…; untouched (fixture 1303 B, sha256 8249c07825ef6025…) the eventLength is exactly 20

The Glashow release (G). event.txt is plain ASCII in four sections, each a ## title line, a # header line and rows of space-separated values. Every number is read from its own digits as an exact integer over a power of ten, at the decimal places IceCube printed β€” a pulse time 13529.378492008134 is 13529378492008134 / 10^12, and nothing is rounded.

Section, as titled in the file Rows Columns
## Extracted pulses 18,135 string, om, time [ns], charge [pe]
## Geometry 5,489 string, om, x [m], y [m], z [m], rel_dom_eff β€” three rows carry the token nan, held as not-a-number and never as a value
## DOMs inactive or defective 111 string, om
## Exclusion time windows due to PMT saturation or miscalibration 66 string, om, start [ns], end [ns]

The four parsed sections, written back out, are byte-identical to event.txt (1,150,306 B, sha256 880092406106a28d5bffc337977b8a3a9aec992baab7e3dc5fd4cc822a030527). A token the grammar does not admit is refused with its line and column.


3 Β· Which sensor saw each hit β€” the join

An ODF hit does not name its sensor. It carries the sensor's position (x, y, z) as three stored 64-bit patterns. Affine names the sensor by matching all three patterns exactly against a published geometry β€” no tolerance, no nearest neighbour. A hit that matches nothing is counted and named (HIT_OFF_GEOMETRY), never placed by a guess.

  • T (2010) carries its own geometry file (geometry.odf, 5,480 records), stored in the same 64-bit form. The patterns are compared directly.
  • N and L (2013) carry no geometry. The published geometry they are joined on is the Glashow release's (2021), which prints decimals. Affine re-encodes each published decimal the way IceCube's encoder does, entirely in integers: (1) the decimal to the nearest binary64 value, ties to even; (2) split it as m Β· 2^e; (3) round m Β· 10^15 to binary64, as the encoder's multiplication does; (4) truncate to M; (5) assemble the bits. Then it compares.
  • G names each pulse's (string, om) in the text, and the law checks that it is a geometry row.
Hits from Geometry Hits joined Positions joined Off geometry Planted control
G its own ## Geometry 18,135 of 18,135 453 DOMs 0 β€”
N Glashow geometry, re-encoded 15,975 of 15,975 4,188 of 4,188 0 step 3 floored instead of rounded: 13,488 hits, 3,562 positions
L Glashow geometry, re-encoded 1,788,984 of 1,788,984 5,070 of 5,070 0 step 3 floored: 1,549,873 hits, 4,326 positions
T its own geometry.odf 466,727 of 466,727 3,467 of 3,467 0 the 2021 geometry in its place: 291 of 3,467 positions

The planted controls show the join is a measurement and not a formality: change one step of the re-encoding, or use the other era's map, and thousands of hits stop matching. The law's own lines, as the prover printed them on 2026-10-07:

Study 55 calibrated-hit law 9a. PLANTED step 3 floored encodes -184.8000030517578 (DOM 1,41) as c072908a9fa86420, the replay as c072908a9fa86421; encode("0") = 3ff0000000000000, encode("1.0") = 4001c6bf52634000
Study 55 calibrated-hit law 9b. PLANTED step 3 floored joins 3,562 positions and 13,488 hits, not 4,188; the replay joins 4,188 of 4,188 positions and 15,975 of 15,975 hits; the 5,489 geometry rows encode to 5,489 distinct triples
Study 55 calibrated-hit law 19. PLANTED step 3 floored joins 4,326 positions and 1,549,873 hits; the replay: 1,329 events, 1,788,984 of 1,788,984 hits and 5,070 of 5,070 positions joined, hits per event 497 Β· 1022 Β· 31928
Study 55 calibrated-hit law 20. PLANTED the 2021 Glashow geometry joins 291 of 3,467 positions; its own geometry.odf (5,480 records, 21 triples carried by four DOMs each, 84 rows) joins 466,727 of 466,727 hits and 3,467 positions on 59 strings over 8,348 events; event 0 is the fixture byte for byte
Study 55 calibrated-hit law 23. PLANTED step 3 floored makes 440 of 5,480 geometry.odf records equal; the replay: 534 of 5,480 records carry a Glashow DOM's bit triple, 534 of them the same (string, om); 4,946 differ

The 5,489 Glashow geometry rows re-encode to 5,489 distinct bit triples, so no two sensors share a pattern there. In T's own geometry.odf, 21 triples are carried by four DOMs each (84 rows), and no hit lands on those.

The two maps against each other, record by record (law arm 23): of the 5,480 records in T's geometry.odf, 534 carry a bit triple the re-encoded Glashow geometry also carries, and all 534 name the same (string, om) there; the other 4,946 differ. Why they differ is not stated in any IceCube document, and Β§8 lists it as not measured. The count is the law's own print; the arm's planted control (step 3 floored) makes 440 records equal instead.


4 Β· The census, file by file

Each block below is the law's own transcript, pasted whole. The last two lines of each are its run terminal and its seal.

G β€” the Glashow release

STUDY 55 β€” CALIBRATED HIT CENSUS
source  IceCube data for the first Glashow resonance candidate (data release 2021-03-10), https://icecube.wisc.edu/data-releases/2021/03/icecube-data-for-the-first-glashow-resonance-candidate/, DOI 10.21234/gr2021
file    20210310_IceCube_data_for_the_first_Glashow_resonance_candidate.zip β€” 371,342 bytes, sha256 64c31773fe21b1dc6268da69f2f5427a8d22663b44fc4514a368385c1e455c88
member  event.txt β€” 1,150,306 bytes, sha256 880092406106a28d5bffc337977b8a3a9aec992baab7e3dc5fd4cc822a030527, CRC-32 14df9e32 (calibrated hits)
member  contour_cascade.csv β€” 6,339 bytes, sha256 9363ecb7db2369069d254726698348e910dc883f6f3cb293f553987a85c1d041, CRC-32 73b1d614 (IceCube's reconstruction and fit, as published)
member  contour_hybrid.csv β€” 6,412 bytes, sha256 19a1a51c45cf1a876ea24a4e206482e65ce138ea3f17ae82281c08a002bc9c6b, CRC-32 d67396dc (IceCube's reconstruction and fit, as published)
member  piecewise.csv β€” 222 bytes, sha256 91d4a1b666cd9d597bfd9b419e7911c1f9f46ad117634df2ab9ca421c07a3001, CRC-32 cd0307fe (IceCube's reconstruction and fit, as published)

SECTIONS  ## Extracted pulses 18,135 rows Β· ## Geometry 5,489 rows Β· ## DOMs inactive or defective 111 rows Β· ## Exclusion time windows due to PMT saturation or miscalibration 66 rows; written back byte-identical to event.txt
GEOMETRY  5,489 rows on 87 strings (0…86), om 1…66; strings 1–86 Γ— om 1–60: 5,160 rows; other rows 329
          rel_dom_eff `nan` 3 rows: (33,6) (39,61) (45,19) β€” held as not-a-number
          Glashow release ## Geometry, 5,489 rows, IceCube's encoder replayed in integers, bit-equal join; distinct bit triples 5,489; repeated rows 0; triples two DOMs share 0
INACTIVE  111 DOMs listed inactive or defective; 111 of them in the geometry
WINDOWS   66 exclusion windows on 56 DOMs; start ≀ end on 66
EVENT     1 event (the release carries one): 18,135 pulses on 453 DOMs, 30 strings
JOIN      pulses whose (string, om) is in the geometry 18,135; off geometry 0
FLAGS     pulses on an inactive DOM 0; pulses inside their own DOM's exclusion window (start ≀ t ≀ end) 3,797
TIME      first 13529.378492008134 ns Β· last 30706.59886187861 ns Β· span 17177.220369870476 ns (exact)
CHARGE    total 228451.592751078307534111 pe (exact); zero 0; negative 0
MOST      267 pulses on (67,54)
ORDER     pulse rows in (string, om) order: 18,135 of 18,135
NOT IN THE RELEASE BYTES  run, year, start time; the event's date is in the Nature paper (https://doi.org/10.1038/s41586-021-03256-1), cited, not ingested
LAW       IceCubeRaw.lawVersion 1
RUN_TERMINAL  COMPLETE
SEAL    sha256 683603397ff59cf25805369db8e0dfbe1c6c76c299e64fded1716c781c0b883f

N β€” run 121585, 2013

STUDY 55 β€” CALIBRATED HIT CENSUS
source  IceCube Open Data Format project, https://icecube.umd.edu/PublicData/ β€” "calibrated IceCube data, without reconstructions"
file    neutrinos_run_121585.odf.gz β€” 233,982 bytes, sha256 4e380dd9400a53b9d35c7f601036f7a50f0fe925d03a1b120ce1647c2d4a4966
member  neutrinos_run_121585.odf β€” 650,298 bytes, sha256 45037db0a3f9dd2045ccf6c2d3877b6ed74deff123e72276298973424d2bd827, CRC-32 06ec668c (calibrated hits)

EVENTS    71 events in neutrinos_run_121585.odf (650,298 bytes); leftover bytes 0; every record read by this law, with no IceCube software
HITS      15,975 hits; per event min / q1 / median / q3 / max: 0 / 63 / 85 / 136 / 6,222; events with no hit: 1
RUNS      121585; YEARS 2013
START     first event day 8 23:07:57.6968501434 (startTime 7,744,776,968,501,434); last event day 9 03:07:12.8495407656 (startTime 7,888,328,495,407,656); file order, tenths of ns since 1 Jan of the year, time scale not stated
LENGTH    eventLength min 10.457 Β· max 32.327 (exact; the page states Β΅s, event.py's docstring tenths of ns)
TRIGGERS  IN_ICE_SIMPLE_MULTIPLICITY 91 Β· IN_ICE_STRING 67 Β· IN_ICE_VOLUME 133
JOIN      Glashow release ## Geometry, 5,489 rows, IceCube's encoder replayed in integers, bit-equal join
          geometry: 5,489 rows, 5,489 bit triples carried by one DOM, 0 repeated rows, 0 triples carried by more than one DOM (0 rows; no hit joins those)
          hits joined 15,975 of 15,975; off geometry 0; positions 4,188, joined 4,188
DOMS      ever lit 4,188; strings ever lit 86
CHARGE    q zero (M = 0) 0, of them stored as 3ff0000000000000 0; q negative 0; total q (exact, unit not stated) 15735.6750058531707465
TIME      t negative 0; t over all hits (exact, unit not stated) min 3954 Β· max 2012470.000000000065536
LAW       IceCubeRaw.lawVersion 1
RUN_TERMINAL  COMPLETE
SEAL    sha256 237012b72d1a0271c877a6fc669e4a7ba8e24669347e0f1c4b5fa012dc2535d3

L β€” run 122252, 2013

STUDY 55 β€” CALIBRATED HIT CENSUS
source  IceCube Open Data Format project, https://icecube.umd.edu/PublicData/ β€” "calibrated IceCube data, without reconstructions"
file    LargeNChSample_122252.odf.gz β€” 28,203,163 bytes, sha256 f3886f083596e3c2cd541ff7786bd5ac8a0d6d760acec42b777ce385d3e6ba60
member  LargeNChSample_122252.odf β€” 72,000,098 bytes, sha256 271fad4355e577c878a55191c406b32c33da4d8ecd0dc71fd82ae2424db07671, CRC-32 f1700659 (calibrated hits)

EVENTS    1,329 events in LargeNChSample_122252.odf (72,000,098 bytes); leftover bytes 0; every record read by this law, with no IceCube software
HITS      1,788,984 hits; per event min / q1 / median / q3 / max: 497 / 811 / 1,022 / 1,430 / 31,928; events with no hit: 0
RUNS      122252; YEARS 2013
START     first event day 116 03:46:39.8214307428 (startTime 100,359,998,214,307,428); last event day 116 03:57:56.2844899400 (startTime 100,366,762,844,899,400); file order, tenths of ns since 1 Jan of the year, time scale not stated
LENGTH    eventLength min 14.017 Β· max 40.249 (exact; the page states Β΅s, event.py's docstring tenths of ns)
TRIGGERS  IN_ICE_SIMPLE_MULTIPLICITY 3,306 Β· IN_ICE_STRING 4,076 Β· IN_ICE_VOLUME 6,402
JOIN      Glashow release ## Geometry, 5,489 rows, IceCube's encoder replayed in integers, bit-equal join
          geometry: 5,489 rows, 5,489 bit triples carried by one DOM, 0 repeated rows, 0 triples carried by more than one DOM (0 rows; no hit joins those)
          hits joined 1,788,984 of 1,788,984; off geometry 0; positions 5,070, joined 5,070
DOMS      ever lit 5,070; strings ever lit 86
CHARGE    q zero (M = 0) 0, of them stored as 3ff0000000000000 0; q negative 0; total q (exact, unit not stated) 1912220.3855017621546552017822265625
TIME      t negative 45; t over all hits (exact, unit not stated) min -114.114318847656192 Β· max 10008707.99999999410176
LAW       IceCubeRaw.lawVersion 1
RUN_TERMINAL  COMPLETE
SEAL    sha256 cd8b7b54de8eb0ceb6cd15713599b8328be0665304e3807b95c121818f58c0bf

T β€” run 115150, 2010, with its geometry

STUDY 55 β€” CALIBRATED HIT CENSUS
source  IceCube Open Data Format project, https://icecube.umd.edu/PublicData/ β€” "calibrated IceCube data, without reconstructions" (2010, IC59 test data)
file    test-data.tgz β€” 9,118,372 bytes, sha256 64f85e5a3d199b3cea5ac01925aa1e4d01f9a3bc9f0db866eb19088f3408a367
member  test-data.tar β€” 9,246,720 bytes, sha256 f990c0795fc4d3525f3eeb4d575064fb1f1c5b171bbbd82903f0b22d384de323, CRC-32 520c1fcf (the gzip member, a tar archive)
member  test-data/geometry.odf β€” 175,360 bytes, sha256 58d22dadb9f2b559554881171a2336a7011cf2a93ce747c7553504747dc83774, CRC-32 4ba20935 (the geometry for this file)
member  test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz β€” 9,064,793 bytes, sha256 a8ffca3722b2a75db23dc30466ae989d65e9a64afe2490665b3967984b02e367, CRC-32 3b1276db (a gzip member inside the tar)
member  Level1_IC59_data_Run00115150_Part00000000.odf β€” 19,579,322 bytes, sha256 2160aaf1ec8bbbb5a22b7b6aeb2463d57747a00ead4936b70b4f15b526d8e79f, CRC-32 15f2b633 (calibrated hits)

EVENTS    8,348 events in Level1_IC59_data_Run00115150_Part00000000.odf (19,579,322 bytes); leftover bytes 0; every record read by this law, with no IceCube software
HITS      466,727 hits; per event min / q1 / median / q3 / max: 0 / 13 / 21 / 42 / 4,883; events with no hit: 124
RUNS      115150; YEARS 2010
START     first event day 0 16:44:13.1945487298 (startTime 602,531,945,487,298); last event day 0 16:45:35.8034004069 (startTime 603,358,034,004,069); file order, tenths of ns since 1 Jan of the year, time scale not stated
LENGTH    eventLength min 2 Β· max 63.9909 (exact; the page states Β΅s, event.py's docstring tenths of ns)
TRIGGERS  ICE_TOP_CALIBRATION 12 Β· ICE_TOP_MIN_BIAS 1 Β· ICE_TOP_SIMPLE_MULTIPLICITY 300 Β· IN_ICE_MIN_BIAS 136 Β· IN_ICE_SIMPLE_MULTIPLICITY 8,125 Β· IN_ICE_STRING 10,072
JOIN      test-data geometry.odf, 5,480 records, bit-equal join
          geometry: 5,480 rows, 5,396 bit triples carried by one DOM, 0 repeated rows, 21 triples carried by more than one DOM (84 rows; no hit joins those)
          hits joined 466,727 of 466,727; off geometry 0; positions 3,467, joined 3,467
DOMS      ever lit 3,467; strings ever lit 59
CHARGE    q zero (M = 0) 1, of them stored as 3ff0000000000000 1; q negative 0; total q (exact, unit not stated) 506553.3229206394300945
TIME      t negative 3; t over all hits (exact, unit not stated) min -98.21725353236032 Β· max 57275.174457499910144
LAW       IceCubeRaw.lawVersion 1
RUN_TERMINAL  COMPLETE
SEAL    sha256 16df2135561150f62a6c9e5f3a70e3183975e9f9dd6f6cc38c2801e292bd4ced

Units: G states time in ns and charge in pe. For N, L and T no IceCube document states the unit of t, of trigger time or of q, so the values are printed as stored and the unit is not asserted. eventLength is printed with both of IceCube's statements of its unit.


5 Β· The seals

Each census is sealed with SHA-256 over its lines joined by a newline, with no trailing newline β€” Study 50's shape, line for line. Each file also has an event index, one tab-separated line per event β€” its offset and bytes in the file, run, year, start, length, triggers, hits, DOMs and strings lit, hits off geometry, pulses on inactive DOMs and inside exclusion windows (G), first and last t, the span, the exact total charge, the busiest DOM, and two digests: of the set of lit DOMs and of the hits in time order β€” sealed the same way over its event lines.

File Events Hits Seal sha256
G 1 18,135 census 683603397ff59cf25805369db8e0dfbe1c6c76c299e64fded1716c781c0b883f
event index a62ed9fc58f1b6768989548e4b39d975fc52d7d89e404c81c62beb9f27b1957d
N 71 15,975 census 237012b72d1a0271c877a6fc669e4a7ba8e24669347e0f1c4b5fa012dc2535d3
event index 58175c3324e8661caae0a6c6c2c98d23403d5e8940d7a3c9f263338e0574de25
L 1,329 1,788,984 census cd8b7b54de8eb0ceb6cd15713599b8328be0665304e3807b95c121818f58c0bf
event index a92c7864e823566dcaccc1e2fdb76bff29454729404875d52b17e10345b30a1b
T 8,348 466,727 census 16df2135561150f62a6c9e5f3a70e3183975e9f9dd6f6cc38c2801e292bd4ced
event index ba5f7b7a991af2d3436e72be904e80572c89bd6fc751242052865c32b235f67b
all four 9,749 2,289,821 law IceCubeRaw.lawVersion 1

The prover builds each census twice in one run and compares, then holds both seals against the pair this page publishes. The pair is pinned in the law itself (IceCubeFilePin.censusSeal and .indexSeal, printed by law v1), so the prover names every change to the law that moves a seal, until the law's version is raised and the pin is measured again. Each pin check is first shown the census and the index with one line changed:

Study 55 calibrated-hit law 21. PLANTED a comparator with its sign step dropped misorders 4 of 10 decimal pairs and 4 of 10 encoded pairs, and folds the two events' earliest t to -8; the law orders every pair, the census of the two events reads TIME min -98.21725353236032 in file order and -98.21725353236032 reversed, a window -17000.0 β†’ -16000.0 is admitted and -16000.0 β†’ -17000.0 is refused WINDOW_ORDER
Study 55 calibrated-hit law 22. PLANTED the sign-dropped comparator gives the in-ice z range -2.200000047683716 … 524.5599975585938; the stage and the exact sort both give in-ice z -512.8200073242188 … 524.5599975585938 m on 86 strings (5,160 rows) and surface z 1944.5400390625 … 1955 m (329 rows, om 61–66, string 0)
Study 55 census of 20210310_IceCube_data_for_the_first_Glashow_resonance_candidate.zip: 1 events, 18135 hits, 18135 joined, 0 off geometry; built twice, the same transcript and index (seal 683603397ff59cf2…, index a62ed9fc58f1b676…)
PLANTED Study 55 G: the census with one line changed (seal 4c3a7a9eb95d…) and the index with one line changed (219ebfed98bc…) are refused by the pin checker
Study 55 census of G equals the published pin: census 683603397ff59cf2…, index a62ed9fc58f1b676… (law v1)
Study 55 census of neutrinos_run_121585.odf.gz: 71 events, 15975 hits, 15975 joined, 0 off geometry; built twice, the same transcript and index (seal 237012b72d1a0271…, index 58175c3324e8661c…)
PLANTED Study 55 N: the census with one line changed (seal 5346860ac976…) and the index with one line changed (d86b809a40e7…) are refused by the pin checker
Study 55 census of N equals the published pin: census 237012b72d1a0271…, index 58175c3324e8661c… (law v1)
Study 55 N: PLANTED day 9 is not the census's; chapter 7's day 8 … day 9 of 2013 is its START and RUNS lines' (MJD 56301 … 56302)
Study 55 census of LargeNChSample_122252.odf.gz: 1329 events, 1788984 hits, 1788984 joined, 0 off geometry; built twice, the same transcript and index (seal cd8b7b54de8eb0ce…, index a92c7864e823566d…)
PLANTED Study 55 L: the census with one line changed (seal 198e67cb2215…) and the index with one line changed (a15002c1532a…) are refused by the pin checker
Study 55 census of L equals the published pin: census cd8b7b54de8eb0ce…, index a92c7864e823566d… (law v1)
Study 55 L: PLANTED day 117 is not the census's; chapter 7's day 116 … day 116 of 2013 is its START and RUNS lines' (MJD 56409 … 56409)
Study 55 census of test-data.tgz: 8348 events, 466727 hits, 466727 joined, 0 off geometry; built twice, the same transcript and index (seal 16df2135561150f6…, index ba5f7b7a991af2d3…)
PLANTED Study 55 T: the census with one line changed (seal 3d2fb0024f28…) and the index with one line changed (31b3006eece3…) are refused by the pin checker
Study 55 census of T equals the published pin: census 16df2135561150f6…, index ba5f7b7a991af2d3… (law v1)
Study 55 T: PLANTED day 1 is not the census's; chapter 7's day 0 … day 0 of 2010 is its START and RUNS lines' (MJD 55197 … 55197)

Building a census twice can only show that one law agrees with itself; the pin is what sees a change to the law. The pins were measured by planting such a change: with the decimal comparator's last step removed (return sa < 0 ? -c : c β†’ return c, so two negative values compare by magnitude alone), the prover read AFFINE_IDE_LAW_BROKEN (3 of 532 arms did not hold) with the checkout's files and AFFINE_IDE_LAW_BROKEN (5 of 543 arms did not hold) with L and T as well. Its census printed L's earliest t as -8 and T's as -38.831115626444224, and both seals moved off their pins.

Two prover runs on this Mac from two separate builds of the law, at 12:33 and 13:34 on 2026-10-07, wrote byte-identical transcripts and indexes for all four files. Every machine that reads the same bytes must reach the same seals; so far that is measured on one machine.

Re-derive it. From a checkout of the repository, build affine-ide-prove (package apps/AffineIDE) and run it from the repository root. With AFFINE_IDE_STUDY55_OUT=<dir> it writes each file's census and event index there. G, N and H are in the checkout; L and T are read from $AFFINE_IDE_DEV_STUDIES/icecube/ when present, and otherwise their arms print NOT RUN (not on this machine). The law's 24 calibrated-hit arms each open with a planted defect that the check must catch first β€” a flipped bit, a truncated record, a 4-byte trigger count, an IEEE-754 reader, a pulse off the geometry, a floored encoder step, a comparator that drops its sign β€” before the untouched bytes are read. The prover's last line on 2026-10-07:

AFFINE_IDE_LAW_PROVEN (543/543 arms)

6 Β· In the IDE

Open the Affine IDE and choose Study 55 β€” IceCube light in the ice (calibrated hits) in the Physics folder of the studies list. The IDE looks for each of the five files in its bundle, then a development checkout, then its own folder on the Mac, and otherwise fetches it from the URL in apps/AffineIDE/studies/icecube-manifest.tsv on affine.earth: bytes counted first, then sha256. Anything else is REFUSED_DIGEST on the form and is never opened. The Glashow release opens first, because its geometry is the one the 2013 runs join on.

What an IDE holds, and what affine.earth serves. G, N and H are in the checkout at apps/AffineIDE/studies/icecube/ (608,537 B). The IDE's packaging copies them into the app beside the manifest, each checked against its manifest row (bytes, then sha256) and compared byte for byte after the copy; before a correction on 2026-10-07 it copied none of them. L (28,203,163 B) and T (9,118,372 B) are not packaged: the IDE fetches them from affine.earth. Measured on 2026-10-07 at each of the nine cells, eventsummary.txt answered HTTP 200 and the four raw files answered HTTP 404 at their manifest URLs. Until L and T are served there, an IDE with only its own files opens G and N and its status bar reads 2 of 4 files sealed by the law (measured on 2026-10-07 with the app as the packaging's assemble step builds it, under an empty home folder). With L and T in $AFFINE_IDE_DEV_STUDIES/icecube/ or in the IDE's own folder, it reads 4 of 4 files sealed by the law (measured the same day). CORRECTED 2026-10-07, 20:51 UTC: all six files are now served at their manifest URLs on 9 of 9 cells (ICECUBE_SERVED_9 β€” L 28,203,163 B f3886f08…, T 9,118,372 B 64f85e5a…, each at its manifest bytes and sha256), so an installed IDE fetches L and T and seals 4 of 4.

One canvas draws the law's own draw list, and every view on it is a hologram you orbit, slide and zoom. Anything flat β€” a table, a list of rows, a file listing, a paragraph β€” is the chat's, never the canvas's. There are three views:

  • Array β€” the detector from its published geometry: every DOM a dot at its published (x, y, z), every string a line through its DOMs, the published rows outside strings 1–86 Γ— om 1–60 (329 in the Glashow geometry, which the release does not describe) drawn as dim surface marks, the DOMs the release lists as inactive ringed. As the playhead runs, each DOM lights when its first hit arrives: colour by the order DOMs lit (eight shades, earliest first), disc size by 4 + floor(log2 of the DOM's exact charge so far). The newest DOM to light carries a white ring.
  • Clock β€” space and time: every hit stands at its DOM's published (x, y) and is lifted by its place in the exact time order (the height is the order scaled, never a unit), so each string is a column of time. Hits after the playhead are dim; the playhead is a magenta plane climbing the columns. For G, each exclusion window is a segment on its DOM's column, from its start to its end, and the pulses inside one are ringed.
  • Sky β€” IceCube's 28 published directions from eventsummary.txt, labelled IceCube's reconstruction, as published, on the sky's sphere turned so that up is declination βˆ’90Β°, the zenith at the South Pole, and the celestial equator lies level as the Pole's horizon (a rotation of the equatorial frame, not a mirror). Each direction is a disc in its published topology's colour (Shower or Track), sized by its published energy, ringed at its published angular resolution, with its id beside it; the two rows at or above 1 PeV carry a second ring.

The hit rows the Table view used to draw around the playhead are now a table in the chat (chapter 2: the first eight hits in exact time order, with t and q exact and, for ODF files, their 16-hex bits, then the law's counts and the event's sequence and lit-DOM digests). IceCube's 28 published rows and the Glashow release's three CSV files are a table and a list in the chat (chapter 7). Until 2026-10-07 the Catalogue view drew them on the canvas as text; the founder's rule moved them.

Each view carries a legend: every row a colour swatch and what it means (the data, such as positions, hits, charge and times, or the drawing, such as disc size and colour). The numbers for the event on screen are on the two forms. Controls: β—€ β–Ά one event, β—€ file / file β–Ά move through G, N, L and T, LIVE runs the playhead and then the next event; Orbit / Slide / Zoom / Reset, or drag to orbit, scroll to zoom, double-click to reset.

Two forms sit beside the canvas. IN THE HOLOGRAM NOW names every element on screen with its colour and its value for the event shown: strings, surface rows, inactive DOMs, lit DOMs, the newest light, the charge ladder, the time shades, hits, exclusion windows, the playhead and the catalogue. THE PROJECTION, STEP BY STEP walks file β†’ open β†’ parse β†’ integers β†’ place β†’ order β†’ census β†’ seal, with the step being drawn highlighted. Both forms take their values from each frame the canvas draws, so they follow the playhead frame by frame. Measured on 2026-10-07 in the IDE: of 39 window captures taken while the playhead ran, 37 showed the same newest light on the form and in the canvas key (the key named it then; it is the form's alone now), and 2 showed the form one tick ahead of the canvas.

Each event enters the language game as one state change: the clock axis C⁴ = (run, year, startTime, hit t) and each hit in S⁴ Γ— hits = (x, y, z, q), exactly as stored, with the lit DOMs folded in. For G the first three clock fields are not in the release bytes and are written β€”.

The chat tells the study in eight chapters, each with the numbers for the event on screen:

# Tab Chapter Opens in
1 Ice The ice and the strings Array
2 Bytes The bytes Clock
3 Hits The hits Array
4 Light The light arriving in order Clock
5 Census The census Array
6 Seal The seal Clock
7 Published What IceCube published from these Sky
8 Not measured What is not measured at this tier Array

7 Β· What IceCube published from these

The Nobel Prize in Physics 2026 was awarded to Francis Halzen β€œfor decisive contributions to the IceCube Neutrino Observatory and the discovery of high-energy neutrinos of astrophysical origin.” β€” https://www.nobelprize.org/prizes/physics/2026/summary/.

IceCube's 2013 table of high-energy starting events β€” eventsummary.txt from the 2013 HESE data release, 3,213 bytes, sha256 a3888d159f9b0a1b8e4c07dff5a8d86968ef1ca5c15f72a461c61366a80571d9. It is IceCube's reconstruction, as published. The study holds it as integers β€” energy and its two errors in tenths of a TeV, time as MJD Γ— 10^7, declination, right ascension and median angular resolution in tenths of a degree, a leading < where the file prints an upper bound β€” writes it back byte-identical to the file, and computes nothing from it. The table is the law's own print (IceCubeNarration.integerTable), pasted whole:

id TeV x 10 -err +err MJD x 10^7 Dec x 10 RA x 10 res x 10 topology
1 476 54 65 553513222110 -18 352 163 Shower
2 1170 146 154 553514659612 -280 2826 254 Shower
3 787 87 108 554510707415 -312 1279 <14 Track
4 1654 149 198 554773930911 -512 1695 71 Shower
5 714 90 90 555125516214 -4 1106 <12 Track
6 284 25 27 555676388084 -272 1339 98 Shower
7 343 43 35 555712585307 -451 156 241 Shower
8 326 111 103 556088201277 -212 1824 <13 Track
9 632 80 71 556856629638 336 1513 165 Shower
10 972 124 104 556952730442 -294 50 81 Shower
11 884 107 125 557145909268 -89 1553 167 Shower
12 1041 132 125 557394411227 -528 2961 98 Shower
13 2527 216 259 557561129755 403 679 <12 Track
14 10407 1444 1316 557825161816 -279 2656 132 Shower
15 575 78 83 557831854172 -497 2873 197 Shower
16 306 35 36 557986271191 -226 1921 194 Shower
17 1997 268 272 558003755444 145 2474 116 Shower
18 315 33 46 559235318175 -248 3456 <13 Track
19 715 72 70 559257958570 -597 769 97 Shower
20 11408 1328 1428 559293986232 -672 383 107 Shower
21 302 33 35 559365416440 -240 90 209 Shower
22 2195 244 212 559419757760 -221 2937 121 Shower
23 822 84 86 559495693177 -132 2087 <19 Track
24 305 26 32 559508474887 -151 2822 155 Shower
25 335 50 49 559667422457 -145 2860 463 Shower
26 2100 258 290 559792551738 227 1434 118 Shower
27 602 56 56 560086845606 -126 1217 66 Shower
28 461 44 57 560485704171 -715 1648 <13 Track

IceCube's reconstruction and fit of the Glashow event, as published β€” three CSV files inside G, listed and not parsed:

File Bytes sha256 CRC-32
contour_cascade.csv 6,339 9363ecb7db2369069d254726698348e910dc883f6f3cb293f553987a85c1d041 73b1d614
contour_hybrid.csv 6,412 19a1a51c45cf1a876ea24a4e206482e65ce138ea3f17ae82281c08a002bc9c6b d67396dc
piecewise.csv 222 91d4a1b666cd9d597bfd9b419e7911c1f9f46ad117634df2ab9ca421c07a3001 cd0307fe

The release page states IceCube's reconstruction of that event as a visible energy of 6.05 Β± 0.72 PeV.

Citations

  • IceCube Collaboration (2021): IceCube data for the first Glashow resonance candidate. Dataset. DOI: 10.21234/gr2021 β€” the release's suggested citation.
  • IceCube Collaboration, Detection of a particle shower at the Glashow resonance with IceCube, Nature 591, 220 (2021), DOI 10.1038/s41586-021-03256-1.
  • IceCube Collaboration, Evidence for High-Energy Extraterrestrial Neutrinos at the IceCube Detector, Science 342, 1242856 (2013), DOI 10.1126/science.1242856 β€” the paper the 2013 release cites.
  • IceCube Public Data Project, https://icecube.umd.edu/PublicData/ β€” the Open Data Format, its coordinate system (metres; +y grid north, +x grid east; the origin at the detector's centre, which the page puts about 1,500 m below the ice surface) and the three ODF files.

8 Β· Not measured at this tier

The calibrated hits carry when light arrived at each DOM, where that DOM sits, and how much light it was. What a reconstruction would add is not computed here. The law's own list, with its reasons:

quantity why it is not measured here
neutrino direction (RA, Dec) needs a reconstruction over photon propagation in the ice
deposited energy, neutrino energy needs the ice model, DOM efficiency and charge calibration applied through a reconstruction
flavour, and track or shower topology needs a reconstruction
astrophysical or atmospheric origin needs reconstructed energy and direction plus a background model
interaction vertex needs a reconstruction
which pulses are noise needs a cleaning model
unit of ODF t, trigger time and q not stated in any IceCube document; the magnitudes are printed as stored
time scale of startTime (UTC or GPS) not stated
date of the Glashow event not in the release bytes; the Nature paper states it, cited, not ingested
why 4,946 of 5,480 geometry.odf positions differ from the 2021 geometry (534 are equal bit for bit, 534 of them on the same (string, om)) not stated
what rel_dom_eff = nan means beyond not-a-number not stated

Edge: not known. Where each of these neutrinos came from, and what it was, is not known from the hits alone.


9 Β· Relation to Study 50

Study The same law
50 β€” CMS raw data from the LHC the raw tier of a detector's readout, read in the substrate's own Swift: containers opened by the law, every value exact, every record joined, a census and an index seal per file, and what needs reconstruction stated as not yet measured

🧬 CURES β€” read in this order

Each step is the reason the next one exists. Nothing here is medical advice, and no page calls any medicine safe or unsafe.

1 Β· Why an exact safety screen at all

2 Β· The three libraries, which grow rather than close

3 Β· The maps β€” every place a molecule could act, counted

4 Β· One medicine at a time

  • Zilganersen β€” the first treatment for Alexander disease, screened on the real approved sequence
  • A drug an AI designed β€” rentosertib for pulmonary fibrosis, and exactly what our instruments reach
  • CAR-T, halted β€” the verdict a regulator could re-derive
  • N-of-1 antisense β€” the only safety net at a population of one
  • VERVE-102 β€” the off-target lattice a stranger can re-derive
  • PM359 β€” prime editing, certified before anyone is dosed
  • Del-Zota β€” the one safety question that can be made exact

5 Β· What keeps a disease alive, and what moves it

βš–οΈ How to read any page here

πŸ”¬ The method β€” exact against float, domain by domain

The same move every time: take a domain where a floating-point model is the accepted instrument, compute the same quantity in exact integers, and seal the cases where the two render opposite verdicts. The subject under grading is always the instrument, never the phenomenon.

⚑ Fusion β€” the energy case

🌍 The planet, and the sky

πŸ› Markets, money and risk

βš›οΈ Run a court yourself

πŸ“’ Program ledger β€” every study by lifecycle

A study appears here under the state its evidence has earned, and above under the question it answers. The two are different filings of the same work, on purpose.

βœ… LAW FROZEN Β· DATA SEALED

πŸ”΄ LIVE CLAIM β€” standing, not sealed

🌊 CHARTER Β· OPEN β€” the findings, published either way

β˜€οΈπŸŒ‘ Eclipse 2026 β€” Study 01, DATA SEALED

πŸ”¬ Discoveries and flows

Clone this wiki locally