Skip to content

rv_precision_bouchy

Compute the fundamental photon-noise limit on RV precision (Bouchy 2001).

Category Radial velocity
Backend numpy - implemented here on top of numpy primitives
Version 1.0.1
Reads ctx.spectrum (a Spectrum1D)
Writes metrics.rv_precision_ms

Uses sigma_v = c / sqrt(sum_i ( (dF/d(lambda))_i * lambda_i / sigma_F_i )^2). When the spectrum's uncertainty array is not set, sigma_F is approximated from sqrt(|F|) (photon-noise assumption) scaled by the spectrum's median SNR. For an empirical companion measurement, run cross_correlate_rv and compare its radial_velocity_error_kms (Tonry & Davis r-value error) with this photon-noise floor — they bracket the realistic uncertainty budget.

Parameters

Parameter Default Required Description
snr_floor 50.0 - Assumed SNR when no uncertainty array is set (photon-noise floor).

Use it

from spectro_kernel import run_algorithm

output = run_algorithm("rv_precision_bouchy", ctx, {
    "snr_floor": 50.0
})
spectro run rv_precision_bouchy --input spectrum.fits \
  --param snr_floor=50.0
{
  "tool": "rv_precision_bouchy",
  "arguments": {
    "session_id": "<session_id>",
    "params": {
      "snr_floor": 50.0
    }
  }
}

Every algorithm is an MCP tool of the same name; describe_algorithm returns this page's metadata as JSON.

References

  • Bouchy, Pepe & Queloz 2001, A&A 374, 733 — fundamental noise limits on RV.
  • Brault 1987, ARA&A 25, 575 — original derivation in the line-fitting context.
  • See also cross_correlate_rv for the empirical CCF-based RV error (Tonry & Davis 1979).
  • cross_correlate_rv - Measure radial velocity by cross-correlation against a template spectrum.
  • fit_keplerian_orbit - Fit a single-companion Keplerian RV curve to a velocity time series.
  • measure_radial_velocity - Measure a radial velocity from the Doppler shift of a single line.
  • redshift_lines - Redshift z by per-line Gaussian fits against a list of rest-frame anchors.