Sundog Atlas · Atmospheric Optics

A sundog is geometry doing optics.

Geometry follows Greenler (1980) and Tape (1994); see History & reading for citations.

Every visible arc in a sundog photograph is a slice of a complete circle. The live atlas keeps the physics visible: the 22° halo for scale, parhelia for the promoted inverse, and boundary-gated arcs such as the CZA and upper tangent arc. Rendered does not mean promoted: most layers are forward geometry or vocabulary; only the eligible parhelion-offset route is currently treated as a hidden-state measurement handle.

Live geometry Promoted parhelion offset Gated rendered context
§2 · What you're looking at

Every bright feature has a name.

When you photograph a sundog you don't see one phenomenon; you see a stack of them. The bright spots at the sun's left and right are the parhelia. The white ring around the sun is the 22° halo. The colorful arc near the top of the sky is the circumzenithal arc. The vertical light shaft is the sun pillar. Each is its own geometric primitive, but they do not carry the same evidence weight.

Annotated reference photograph showing nine named arcs of a rich sundog display
Annotated reference photograph (Photometeor / Jeff). Every label below points at a real circle in the sky — the visible arc you see is the part of that circle that happens to be above the horizon when you're looking up.
22° halo
Tight ring around the sun. Most commonly seen alone.
46° halo
Larger faint ring, roughly twice the 22° halo's radius.
Sundog / parhelion
Bright spot on the parhelic circle at the sun's altitude, just outside the 22° halo.
Parhelic circle
Horizontal great circle through the sun. Looks roughly horizontal in a photo.
Circumzenithal arc (CZA)
Colorful "smile" near the zenith, tangent to the 46° halo at its top.
Supralateral arc
Less common arc tangent to the 46° halo, just outside the CZA.
Upper tangent arc
"Eyelid" tangent to the 22° halo's top, from column-oriented crystals.
Suncave Parry arc
Parry-orientation cousin of the upper tangent, nested inside it.
Lower tangent arc
Mirror of upper tangent at the 22° halo's bottom edge.
§3 · The physics

Why do the bright spots sit at 22° from the sun?

Sundogs form when sunlight refracts through hexagonal ice crystals: tiny six-sided columns or plates falling through high cirrus clouds. A light ray entering one face of a hexagonal column and exiting an adjacent face traverses a 60° prism. The minimum-deviation angle of that prism for visible light in ice is almost exactly 22°. So most refracted light bunches up at 22° from the source. To an observer, that's a bright spot 22° away from the sun.

Machine-checked core: the public Lean proof now checks the calculus part of that sentence: the symmetric ray is stationary for the prism deviation function. The proof names, but does not prove, the physical optics wall. Lean method ledger.

hexagonal ice crystal (end view) incident sun ray deflected ~22° → toward observer undeflected direction 22° 60° prism path

The two crystal families that matter for the most common arcs:

Plate-oriented hexagonal crystals — flat hexagonal disks falling with their flat face horizontal. Light entering a side face and exiting the bottom face passes through a 90° prism, producing the 46° halo and the circumzenithal arc.

Column-oriented hexagonal crystals — hexagonal columns with their long axis horizontal. Light entering one side face and exiting the adjacent side face passes through a 60° prism, producing the 22° halo, the parhelia, and the upper tangent arc.

Sources: Greenler, Rainbows, Halos, and Glories (1980), Ch. 2–4. Tape, Atmospheric Halos (1994). Cowley, atoptics.co.uk.

§4 · Sun altitude

When the sun rises, the parhelia slide outward.

The 22° angle is measured along the shortest path on the celestial sphere: the great-circle distance from the sun. But the parhelion sits on the parhelic circle, which is horizontal through the sun. Those two are the same thing only when the sun is on the horizon. When the sun rises, the parhelic-circle azimuthal offset has to grow to keep the actual angle from the sun at 22°. The exact relationship is

parhelion offset = R₂₂ / cos(h)

where R₂₂ is the apparent 22° halo radius and h is the sun's altitude. This is one of those rare cases where you can read the sun's altitude directly from a photograph, with no metadata and no instruments: just measure where the parhelion sits, divide.

Drag the slider. The atlas above re-derives every dependent primitive. At h ≈ 32.2° the CZA disappears (it has exited the visible hemisphere); near 29° the tangent arcs merge into the circumscribed halo regime; the parhelia drift outward across the entire range.

h = 25° parhelion offset = R₂₂ / cos(h) =
R₂₂ × 1.103
CZA visible: yes

This is also how a sundog photograph can become a measuring instrument. For the plain step-by-step inverse, start with the h-of-x math demo. The 7-photo calibration pass shipped with this project (see §Multi-Photo Calibration Pass) recovers the sun's altitude from each photograph with no EXIF or astronomical metadata, within roughly 1 pixel of residual.

Current evidence keeps this narrow. The promoted inverse handle is parhelion offset on eligible photos with bilateral parhelia and an independent 22° halo anchor; the CZA, supralateral, tangent-family, parhelic-belt, and pillar layers are rendered context, vocabulary, or coverage-gated routes unless their own receipts say otherwise.

§5 · The full atlas

Every visible arc, mapped to a circle.

Atmospheric optics has spent two centuries naming the arcs in a halo display. The twelve primitives below are the set this atlas renders. Some are scale or context; some are optional vocabulary; one route, parhelion offset, is promoted as the current inverse measurement handle. One paragraph each: what it is, where it sits, how the atlas constructs it, and what status it carries.

For the broader vocabulary ledger — including named-only, not-modeled, and speculative families — see the Sundog Halo Legend. The h-of-x page isolates the first promoted inverse equation; the atlas shows the current rendered geometry; the legend is the definition layer that separates rendered primitives, optional labels, and not-yet-modeled halo names.

Boundary landmarks: tangent arcs merge into the circumscribed halo near 29° sun elevation; the CZA leaves the visible hemisphere at about 32.2°; parhelic-belt y and the stylized pillar generator remain visual QA, not hidden-state evidence.

22° halo

The bright ring around the sun. The most common halo phenomenon. Refraction through 60° prism in column-oriented hexagonal ice crystals.

circle (sun, R₂₂)

46° halo

Larger faint ring, roughly twice the 22° halo's radius. Refraction through 90° prism in plate-oriented crystals.

circle (sun, 2·R₂₂)

Sundog / parhelion

Bright spot on the parhelic circle just outside the 22° halo. Offset grows with sun altitude as R₂₂/cos(h).

point on parhelic ∩ 22°-cone

Parhelic circle

Horizontal great circle through the sun, carrying the parhelia. The atlas draws the unique circle through both parhelia and the sun.

circle through (sun, L-parhelion, R-parhelion)

Circumzenithal arc (CZA)

"Smile" near the zenith, colored like an inverted rainbow. Always tangent to the 46° halo at its top.

circle tangent to 46° halo at its top point

Supralateral arc

Tangent to the 46° halo just outside the CZA, curving away from the sun. Less common than the CZA.

circle tangent to 46° halo, sun-side

Upper tangent arc

"Eyelid" above the 22° halo's top. Forms in column-oriented crystals. Visually nests near the suncave Parry arc.

circle tangent to 22° halo at top

Suncave Parry arc

Parry-orientation companion above the upper tangent. Shoulders bend back toward the sun ("suncave" = concave-toward-sun).

tighter circle tangent to 22° halo at top

Lower tangent arc

Mirror of the upper tangent at the 22° halo's bottom. Only visible when the sun is high enough that the bottom of the halo isn't below the horizon.

circle tangent to 22° halo at bottom

Parry supralateral arc

Parry-orientation flanking shoulders near the supralateral. Optional vocabulary in the atlas.

mirror-image arcs along the 46° halo top

Infralateral arcs

Lower-half mirror of the supralateral. Tangent to the 46° halo's bottom region.

circle tangent to 46° halo bottom

Sun pillar

Vertical light column above and below the sun, from horizontally-floating ice plates. Rendered in the atlas as the vesica between two virtual halos centered at the parhelia.

vesica (left-parhelion-halo, right-parhelion-halo)

Named in the literature, beyond the rendered set

The set above is a deliberate subset. The standard atmospheric-optics literature names several more halo families this atlas does not draw as separate primitives — some are rare, some need a crystal-population model the geometry layer does not carry, and some require viewing geometry outside this explainer's audience. They are catalogued here so the canonical vocabulary is complete in one place: formation mechanism in a sentence, where to read more (Tape chapter · HaloSim simulation file · Cowley's Atmospheric Optics), and this project's rendering status.

Parry-family arcs

Arcs from Parry-oriented column crystals (one prism face held level): the suncave Parry caps the upper tangent arc, the rarer sunvex Parry opens beneath it, and the Parry supralateral flanks the 46° halo top.

Tape, Atmospheric Halos ch. 3 · HaloSim Parry arcs.sim, Parry 1820 display.sim · Cowley, atoptics

Sundog: suncave Parry & Parry supralateral rendered as optional vocabulary overlays (not Parry-orientation physics); sunvex Parry named-only

Pyramidal / odd-radius halos

Faint rings at 9°, 18°, 20°, 22.9°, 23.8°, 24° and 35° from the sun, refracted through the shallow end-faces of pyramidal ice crystals rather than the 60°/90° prisms that give the 22° and 46° halos.

Tape, Atmospheric Halos ch. 10; Tape & Moilanen, …the Search for Angle x ch. 11 (on disk: docs/calibration/AH-CH10/, docs/calibration/AH-SAX-CH11/) · HaloSim Pyramidal *d halo.sim · Cowley, atoptics

Sundog: not modeled

Lowitz arcs

Arcs sweeping between the sundogs and the 22° halo from plate crystals rotating about a horizontal axis through two opposite corners (the Lowitz orientation); long contested until photography confirmed them.

Tape, Atmospheric Halos (Lowitz orientation) · HaloSim Lowitz arcs.sim; St Petersburg 1790 historical display · Cowley, atoptics

Sundog: not modeled

Antisolar features

Structure gathered opposite the sun — the anthelion (a bright spot 180° from the sun on the parhelic circle), the diffuse anthelic arcs that cross it, and the paranthelia or 120° parhelia partway around the parhelic circle.

Tape, Atmospheric Halos (anthelic arcs) · HaloSim Anthelic Point display.sim · Cowley, atoptics

Sundog: not modeled

Sub-horizon halos & circumhorizon arc

The subsun and subparhelia (mirror features below the horizon, seen from aircraft or mountaintops) and the circumhorizon arc (a near-horizontal spectral band ~46° below the sun, only when the sun rises above ~58°) — both need viewing geometry outside this explainer's audience.

Tape, Atmospheric Halos (subhorizon family) · Greenler, Rainbows, Halos, and Glories · Cowley, atoptics

Sundog: not modeled — audience mismatch (aircraft / high-summer-noon specific)
§6 · Bring your own sky

Run the atlas on your own sundog photograph.

Upload a sundog photo, mark the sun and the 22° halo edge, and the atlas will overlay every visible arc — and tell you the sun's altitude when the photograph was taken.

The atlas render runs entirely in your browser. EXIF metadata is stripped before any opt-in sharing. For the backend pipeline and privacy policy, see PHASE5_BACKEND_PLAN.md · PHOTO_DATA_POLICY.md. Command-line equivalent: scripts/overlay_calibrate.py.

§7 · History & reading

People have been measuring sundogs since 1535.

The Vädersoltavlan, a 1535 painting depicting a complex halo display over Stockholm

Vädersoltavlan (Sun Dog Painting) — Stockholm, 1535. One of the earliest detailed depictions of a complex halo display, stored in Storkyrkan, Stockholm.

The phenomenon has been observed for centuries, but rigorous geometric description waited for the 19th and 20th-century atmospheric-optics literature. The atlas math on this page is standard refraction geometry; what's specific to this project is the integrated primitive-atlas presentation and the inverse-inference workflow.

Further reading:

  • Greenler, R. Rainbows, Halos, and Glories. Cambridge University Press (1980, reissued 1990). The canonical reference for refraction geometry in hexagonal ice crystals.
  • Tape, W. Atmospheric Halos. American Geophysical Union, Antarctic Research Series Vol. 64 (1994). Detailed arc geometry including supralateral/infralateral symmetry and altitude bindings.
  • Cowley, L. Atmospheric Optics (atoptics.co.uk). The standard public reference site with HaloSim ray-trace renderings.
  • Sun dog on Wikipedia.
Scan of Tape, Atmospheric Halos, ch. 6, fig. 6-3 — display 6-2 from Barrow, Alaska, May 8 1979.
Tape, fig. 6-3 · Display 6-2
Barrow, Alaska, 1979 · lower tangent arc, parhelia, 22° + 46° halos, parhelic circle. From Tape, Atmospheric Halos (AGU 1994), ch. 6. Photograph by Takeshi Ohtake.
HaloSim cross-cut at 25,000 monorays: full halo architecture with sun at 18.6 degrees altitude.
HaloSim cross-cut
25,000 monorays, sun at 18.6°. 22° halo, parhelia, parhelic circle, upper + lower tangent arcs. Cowley/Schroeder HaloSim ray-trace.
Real-world sundog photograph: full 22 degree halo, parhelion glint, conifer silhouette.
Real-world reference
A photographed sundog: full 22° halo and parhelion glint over a winter forest. The thing this atlas models.
§8 · For other tools

Reproducible math, citable references.

The atlas is built so other tools, papers, and Wikipedia entries can cite the math reproducibly. Every formula has a source; the canonical pose is a JSON file; the calibration evidence is a runnable script.

JSON pose schema

The atlas's parameter state serializes to JSON; round-trips to byte-identical SVG. Used for archiving calibration poses.

canonical-halo-atlas.json

Math binding tests

An assertion-style harness over the phase3.* geometry namespace — dagger offset across altitude, CZA visibility cutoff, parhelic curvature, and structural invariants. 33 assertions, all passing.

Phase 3 math-binding tests

Overlay calibration runner

Python script that runs the atlas math on a photograph and emits a residuals report. Used for the 7-photo calibration pass.

scripts/overlay_calibrate.py

Roadmap & references

The geometry roadmap, Phase 2-3 closeouts, the atmospheric-optics reference table, and the calibration evidence.

SUNDOG_V_GEOMETRY.md

Atlas geometry source

The ES-module that implements every primitive's geometric construction. Importable for other tools.

parhelion-geometry.mjs

Calibration overlays

Seven photographs with atlas predictions overlaid; the regression baseline for any geometry change.

View overlays

Outreach packet

Math-summary table, claim license (cited vs original), reproducibility paths, and suggested Wikipedia edits per article.

SUNDOG_OUTREACH_PACKET.md