Radial velocity weighs the unseen companion; transit photometry sizes whatever crosses the star. For a normal planet those two agree. Here they cannot: the mass is a planet’s, but the only thing that ever transits is a moon.
Code
from lastmoon.physics import constants as cfrom lastmoon.physics.orbits import orbital_velocityfrom lastmoon.physics.signatures import mass_size_mismatch, transit_depth# Reflex (RV) semi-amplitude of a Sun-like star from an Earth-mass companion at 1 AUk_rv = orbital_velocity(c.AU, c.M_SUN) * (c.M_EARTH / c.M_SUN)depth_moon_sun = transit_depth(c.LUNAR_RADIUS, c.R_SUN)depth_earth_sun = transit_depth(c.R_EARTH, c.R_SUN)mismatch = mass_size_mismatch(c.M_EARTH, c.LUNAR_RADIUS)print(f"RV semi-amplitude (Earth-mass at 1 AU, Sun-like star): {k_rv*100:.1f} cm/s")print(f"Transit depth if the EARTH transited: {depth_earth_sun*1e6:.0f} ppm")print(f"Transit depth actually observed (Moon-sized): {depth_moon_sun*1e6:.1f} ppm")print(f"Mass/size mismatch factor: {mismatch:.1f}x")
RV semi-amplitude (Earth-mass at 1 AU, Sun-like star): 8.9 cm/s
Transit depth if the EARTH transited: 84 ppm
Transit depth actually observed (Moon-sized): 6.2 ppm
Mass/size mismatch factor: 3.7x
The dynamical mass predicts a rocky body 3.7× larger in radius than anything that transits. Around an M-dwarf the same geometry is far more favourable:
Expected vs observed transit depth, Sun-like vs M-dwarf host.
NoteWhat this means for the paper
The mismatch between dynamical mass and transiting size is the primary flag a survey would trip over, and it is largest exactly where small-star surveys look. The paper’s mock survey quantifies which instruments can reach it.
WarningIdealizations
Circular edge-on orbits; the terrestrial mass-radius relation R ∝ M^0.27 for the “expected” rocky radius; no limb darkening or noise.