pub const WARNING_AERODYNAMIC_JUMP_ASSUMED_GEOMETRY: &str = "aerodynamic_jump_assumed_geometry";Expand description
effects.aerodynamic_jump was enabled while the request left the geometry the estimator
reads to a default (MBA-959).
The jump scales with gyroscopic stability and bullet length, so it reads
rifle.twist_rate_m_per_turn and projectile.length_m. Omitting either does NOT disable
the correction and does not zero it — the solve proceeds against the assumed 1:12 barrel
and the mass/diameter length estimate, and produces a confident number computed for a
rifle the caller does not own. Measured on a .308 175 gr at 800 m in a 10 mph full-value
crosswind, an omitted twist moves the jump from 10.79 cm to 9.08 cm — a 16% error that is
invisible in the response, because the jump is folded into every drop rather than reported
as its own column.
The two assumption notices for the defaults themselves are still emitted; this one exists because those say “a default was applied” without saying that anything now depends on it.
Aerodynamic jump is not the only effect that reads the barrel: effects.magnus and
effects.enhanced_spin_drift do too, under the separate
WARNING_SPIN_EFFECT_ASSUMED_TWIST_RATE, and summary.stability_factor on every solve,
under WARNING_STABILITY_FACTOR_ASSUMED_TWIST_RATE. The codes are distinct so that each
one names the model it belongs to — they are NOT mutually exclusive, and a single omitted
rifle.twist_rate_m_per_turn routinely raises several of them at once. A request enabling
both aerodynamic_jump and magnus without a stated twist gets all three: one per
consumer, each at its own path. Callers must match on the code they care about rather than
assume at most one assumed-barrel warning is present.