As a probe passes behind a planet (as seen from Earth), its radio signal's ray path is refracted by the neutral atmosphere before the signal is finally blocked by the solid body. A spherically-symmetric, exponential atmosphere has refractivity
n(r) = 1 + N(r), N(r) = N₀·10⁻⁶·exp(−(r−R_p)/H)
For a ray whose asymptotic closest approach to the planet's centre (the impact parameter) is p, the thin-atmosphere bending angle is
α(p) ≈ −√(2πp/H) · N(p)
The bending shows up on the ground as a residual Doppler shift on the downlink carrier, roughly Δf ≈ −(f₀/c)·v·α(p), where v is the rate at which the geometry sweeps the ray through the atmosphere and f₀ is the carrier frequency (X-band, 8.4 GHz here).
Recording α at every p during immersion lets the atmosphere be reconstructed by inverting the (exact) Abel relation between bending angle and refractivity:
N(r) = (1/π) ∫ᵣ^∞ α(p) / √(p²−r²) dp
This simulator integrates that formula numerically (substituting x = √(p²−r²) to remove the singularity) over every sample collected so far, and plots the reconstructed N(h) next to the true input profile — the same technique used by Mariner, Voyager, Cassini and every DSN occultation experiment since 1965 to measure the atmospheres of Venus, Mars, Titan and the giant planets without ever sending a dedicated atmospheric instrument.
- H / N₀ — set the atmosphere being sounded; try a Mars-thin (H≈11 km, N₀≈0.7) vs. a thick early-Earth-like case.
- Sweep speed — the transverse velocity component driving the Doppler signature; higher values give a stronger, easier-to-detect residual.
- Orbital phase — scrub or auto-play the probe around its orbit; the ray from probe to Earth grazes deeper into the atmosphere as it nears occultation, then the signal cuts out entirely once the straight path is blocked by the solid planet.