| Range (m) | Path (cm) | Path (mils) | Drift (cm) | Drift (mils) | Vel (m/s) | Energy (J) | ToF (s) |
|---|
Glossary — quick reference
Ballistic coefficient (BC) — what it really is
BC measures how well a bullet fights drag compared to a reference projectile. It is the bullet's sectional density (mass over frontal area) divided by its form factor (how streamlined it is vs the reference shape). Higher BC = velocity retained longer = less drop and less wind drift.
The trap: a BC only means something paired with its drag model. A 175gr SMK is BC 0.475 G1 but 0.243 G7 — same bullet, different reference. Mixing them up produces garbage trajectories. Rule of thumb: G1 ≈ 2× G7 for the same bullet.
Marketing warning: G1 numbers look bigger, so boxes advertise G1. For boat-tail match bullets, the G7 number tracks reality much better across the whole flight.
G1 vs G7 vs custom drag models (CDM)
Drag varies wildly with speed, so calculators use a measured drag curve of a reference projectile, scaled by your bullet's BC. G1 is a short flat-base bullet shape from the 1800s — decent for pistol and old rifle bullets. G7 is a long boat-tailed shape matching modern low-drag bullets.
The curves differ most in the transonic zone: G1 assumes the drag spike of a blunt bullet; G7 the gentler one of a streamlined bullet. That is why a G1-modeled trajectory diverges badly past ~800 m even with the "right" BC.
CDM (custom drag model) skips the reference entirely: Doppler-radar-measured drag of YOUR exact bullet at every Mach number. This is Applied Ballistics' premium data and the gold standard. Our engine accepts custom Mach/Cd tables in the Rust library.
The transonic zone — why the red cell in the table
Between roughly Mach 1.2 and Mach 0.8 the shockwave regime around the bullet collapses. Drag spikes, the center of pressure shifts, and the bullet can pitch and yaw ("transonic instability"). Predictions degrade and some bullets tumble.
The table flags the first row below Mach 1.2. Treat ranges past that marker as reduced-confidence: real dope may differ from prediction by more than the usual margin. Long, well-stabilized bullets (heavy for caliber, fast twist) survive transonic best. Supersonic range is the practical limit of predictable shooting.
Mils vs MOA — angular units
Both measure angle. 1 milliradian (mil) = 1/1000 of the range: 10 cm at 100 m, 1 m at 1000 m. Decimal, metric-friendly, standard in tactical shooting. 1 MOA = 1/60 degree ≈ 2.9 cm at 100 m ≈ 1.047" at 100 yd — finer, traditional in US target shooting.
1 mil = 3.44 MOA. Neither is "better"; what matters is your scope's turrets and reticle using the SAME unit so you can measure a miss in the reticle and dial it directly. Typical turrets: 0.1 mil or ¼ MOA per click.
Zeroing, sight height and the two crossings
Your scope sits ~4–7 cm above the bore, and the barrel is tilted slightly up. The bullet's arc therefore crosses the sight line twice: once close (20–50 m) going up, once at your zero distance coming down. Between them it flies slightly high; past the zero it falls increasingly fast.
Sight height matters most up close and for the zero geometry: get it wrong by 1 cm and your 100 m zero shifts visibly. The flight-profile graph shows the whole arc: launch below the sight line, rise, apex, and fall through the zero.
Wind — the hard part
Wind deflection grows with the lag time — how much the bullet has slowed vs vacuum flight — so it accelerates dramatically with range. Only the crosswind component matters much: full-value at 3 or 9 o'clock, half-value at 1, 2, 4, 5, 7, 8, 10, 11 o'clock, near zero head/tail.
Drift is close to linear in wind speed — the HUD's bracket line uses this: know your hold for the called wind and you know it for half or 1.5× instantly. The Hit Probability tool shows why wind dominates: a ±2 m/s wind-call error at 600 m spreads shots ~10× wider than a good rifle's mechanical precision.
Spin drift (gyroscopic drift)
A spinning bullet is a gyroscope: as the trajectory curves down, the spin axis lags and yaws slightly ("yaw of repose"), generating a small side force. Right-hand twist drifts right, roughly 0.5–1 mil at 1000 m; it grows with time of flight, not just distance.
It depends on the stability factor Sg (Miller formula, shown in the HUD footer): heavier spin = more drift. Below ~600 m it is lost in the wind noise; past 800 m you dial for it. Litz's empirical formula (used here): drift(inches) = 1.25·(Sg+1.2)·t1.83.
Coriolis and Eötvös — shooting on a rotating planet
Over a 2-second flight the Earth turns underneath the bullet. Two distinct effects:
Horizontal (Coriolis): deflects right in the northern hemisphere, left in the southern — same amount in ANY firing direction. Scales with sin(latitude): zero at the equator, max at the poles. ~0.4 mil at 1000 m at 45°N.
Vertical (Eötvös): depends on firing direction — east makes the bullet strike high, west low, north/south nothing. Max at the equator. ~0.1 mil at 1000 m. Both are small but systematic: they never average out, so past 800 m you correct for them.
Air density: temperature, pressure, humidity, DA
Drag is proportional to air density. Density rises with pressure, falls with temperature, and falls slightly with humidity (water vapor is lighter than dry air — counterintuitive but true, and nearly negligible).
Station pressure (what a sensor reads where you stand) is what matters — not sea-level-corrected barometer readings. Density altitude wraps the whole state into one number: "the altitude in a standard atmosphere with this density". Hot day at altitude = high DA = flatter shooting. A 30 °C swing moves a 1000 m dial by ~1.5 mils.
Muzzle velocity SD — the normal law of your ammo
Shot-to-shot muzzle velocity follows a roughly normal distribution. Its standard deviation (SD) controls vertical dispersion at range: a slower shot drops more. At 300 m it is invisible; at 1000 m an SD of 10 m/s spreads shots ~30 cm vertically.
Match ammo: SD 5–8 m/s. Ball ammo: 15–20. Handloads with good technique: 3–5. Chronograph a 10-shot string to know yours — the average feeds the solver, the SD feeds the Hit Probability tool. Cutting SD in half does more for long-range hits than most gear upgrades.
Incline shooting — up and down
Gravity pulls straight down, but only the component perpendicular to your line of sight curves the bullet away from it. Shooting 30° up or down, that component is cos(30°) = 87% — so the bullet drops less relative to your sight line, in BOTH directions.
Quick fix ("rifleman's rule"): dial for the horizontal distance = slope distance × cos(angle). Our solver does it properly — decomposing gravity in the tilted frame, which also captures the small up/down asymmetry (the along-track gravity component slows the bullet uphill, speeds it downhill).
Truing — making the model match YOUR rifle
Every input has error: the chronograph, the BC, the scope's actual click value. Truing calibrates the model against reality: shoot at a distance where errors show (500–800 m, still supersonic), record the dial that ACTUALLY centered the group, and let the solver back-compute which muzzle velocity reproduces it.
Order matters: true MV first in the supersonic range; only if long-range dope still diverges, adjust BC. One trued input fixes the whole curve — after truing, prediction and reality typically agree within 0.1 mil out to the transonic zone.
First vs second focal plane (FFP/SFP)
FFP: the reticle sits in front of the erector and scales with magnification — its mil marks are TRUE at any zoom. Measure, hold, range at any power. SFP: the reticle is fixed; marks are true only at one magnification (usually max). At half power, each mark is worth double.
The reticle view simulates this: in SFP the pattern stays fixed and the hold point moves with the zoom ratio; in FFP they stay locked together. FFP is now standard for serious mil/MOA holding; SFP is brighter and cheaper.
Reading the numbers: mil ranging
Reticle-based ranging: distance (m) = target size (m) × 1000 / measured mils. A 45 cm torso measuring 0.5 mil is at 900 m. Works with any known object — license plates (EU 52 cm), doors (200 cm), car lengths (450 cm).
Error scales fast: at small angles, being 0.1 mil off on a 0.5 mil measurement is a 20% range error — at long range that is a miss. Laser rangefinders replaced this skill, but it remains the backup when batteries die and the basis of the Ranging tool.
Mirage — reading wind through the scope
Mirage is heat shimmer: light bent by air layers of different density. Focus your scope roughly halfway to the target and the shimmer becomes visible — and it flows downwind, making it a wind meter that sits exactly where your bullet flies.
Reading it: boiling straight up = 0–1 m/s (or wind head-on). Slight lean = 1–2. Leaning ~45° = 2–3.5. Flat/streaming = 3.5–5.5. Above ~5.5 m/s mirage flattens and disappears — past that, read grass, trees and flags instead.
The catch: heavy mirage also displaces the target's image, usually upward and toward the flow. On a boiling day the target you see is ~0.1–0.2 mil above where it really is — favor a low hold and wait for a "clean" moment between boils.
Shooting over water and refraction
Air hugging a water surface is cooler and denser than the air above it. Light crossing that gradient bends downward, lifting the target's apparent position (a "superior mirage" — the same physics that makes distant ships float above the horizon). Result: shots over water tend to strike high, typically 0.1–0.3 mil at long range.
Two more effects: wind over water runs full value — no terrain friction, so it is stronger and steadier than what you feel on shore; and the air column over the water is denser than your shore thermometer suggests, adding drag. Use the water-surface temperature and the upper end of your wind bracket, and favor a low hold.
Light and the shooting day — sunrise to sunset
Timing changes the physics. First hour after sunrise: ground still cool — no mirage, no thermals, calm air. The most predictable shooting of the day, and the reference condition for truing. Midday: maximum solar heating — strongest mirage, thermal updrafts on slopes, unstable wind. Long-range consistency suffers. Last hour before sunset: heating fades, mirage dies, air settles — second-best window.
Sun position also matters practically: sun behind you = clear target image and hidden muzzle flash from your side; sun ahead = glare, washed-out reticle, and your objective lens can flash a reflection toward the target. The Sun Times tool computes sunrise, sunset and solar noon from your position.
Rifle cant — the silent long-range miss
Cant is tilting the rifle so the scope's vertical crosshair isn't plumb with gravity. It matters because your dialed elevation rotates with the rifle: dial 10 mils up with a 5° right cant and that come-up now points 5° off vertical, throwing the impact sideways by come-up × sin(cant) and slightly low by come-up × (1−cos(cant)).
The error scales with how much you've dialed, so it's invisible at 100 m and brutal at 1000: a 5° cant with 10 mils dialed = ~0.9 mil (90 cm at 1000 m) horizontal miss. Fix: an anti-cant bubble level on the scope, checked every shot. The solver applies your entered cant to the firing solution.
Aerodynamic jump — vertical from a crosswind
Counter-intuitive but real: a pure horizontal crosswind produces a vertical shift. As the bullet leaves the muzzle the crosswind creates a small angle of attack; the spinning bullet responds gyroscopically 90° from that yaw, so the deflection lands in the vertical plane. For a right-twist barrel, a wind that drifts the bullet right also makes it strike high (left drift → low).
It's a fixed angular kick at the muzzle, so like any launch-angle error it grows linearly with range — roughly 0.1–0.15 mil for a full-value 10 mph (4.5 m/s) crosswind. Small next to horizontal wind drift, but it's why precise shooters see a slight vertical stringing with switching winds. Toggle it in the Environment panel.
Powder temperature sensitivity
Muzzle velocity depends on how hot the propellant is when it ignites. Ammo baking in the sun or sitting in a hot chamber burns faster (higher MV, less drop); frozen ammo burns slower. Typical modern "temp-stable" powders shift 0.3–0.6 m/s per °C; older or sensitive powders up to 1.5.
Over a 40 °C swing between a summer zero and a winter hunt, a 1.0 m/s/°C load moves MV by 40 m/s — enough to miss at 800 m. Chronograph your load hot and cold to find the coefficient, then enter the ammo temperature (not air temperature) before a shot. The solver corrects MV from a 15 °C reference.
Scope tracking truth (correction factors)
Turrets aren't perfectly calibrated. A scope marked in 0.1-mil clicks might actually move 0.098 or 0.102 mil per click — a 2% error that compounds: dial 15 mils and you're 0.3 mil off before wind or anything else. Measure it with a tall-target test: at 100 m, dial a large known amount (say 5 mils) and measure the actual reticle movement on a plumb ruler; correction factor = commanded ÷ actual.
Enter it as the Elev/Wind Correction Factor and every dial number the app gives you is pre-scaled to your real turret. This is the difference between "the math is right" and "the rounds land where the math said".
Danger space & maximum point-blank range
Max point-blank range (MPBR): the farthest distance at which you can hold dead-center on a target of a given size and still hit it, without dialing — because the trajectory never rises or falls more than half the target height above/below the line of sight. Pick the zero that maximizes this and you have a "battle zero" for fast shooting.
Danger space is the same idea at a specific target: the length of ground over which the descending bullet stays within the target's height, i.e. how much you can misjudge the range and still connect. Bigger target and flatter trajectory = more forgiving. The Danger Space tool computes both from your current zero.
Cold bore & barrel condition
The first shot from a cold or freshly cleaned barrel often lands apart from the group — a "cold-bore shift", typically 0.1–0.3 mil, consistent for a given rifle. Causes: different barrel harmonics cold, and a clean bore fouling in over the first few rounds. It's not something you calculate; you log it (shoot cold-bore shots over many sessions, record the offset) and hold for it on the first shot that counts.
Related discipline: barrel wear slowly drops muzzle velocity as the throat erodes (roughly 10–30 m/s over a barrel's life), so re-true your MV every few hundred rounds. And keep a round count — accuracy falls off a cliff near end of barrel life.
Extreme cold and bullet stability
Cold air is denser, which quietly changes two things. Drag rises (more drop and drift — the atmosphere inputs already handle this), and the stability factor Sg drops, because Sg is inversely proportional to air density. A bullet marginally stable in summer (Sg ~1.3) can fall below 1.0 at −30 °C and start to tumble, especially as it goes transonic.
Rule of thumb: aim for Sg ≥ 1.5 at your coldest expected conditions (shown in the HUD footer). If you shoot in deep cold, a faster twist barrel buys the margin. Litz also notes that low Sg (under ~1.5) costs a few percent of effective BC, so a marginally stable bullet drops slightly more than its advertised BC predicts.
Multiple wind zones along the flight
Our solver, like most, uses one uniform wind. Reality has layers: the wind at your position, mid-range, and at the target can all differ in speed and direction. The counter-intuitive part — mid-range wind matters most. A gust near the muzzle acts on the bullet for its whole remaining flight, so its small early deflection amplifies downrange; wind right at the target has almost no time to act.
Practical method: read the wind at several points (mirage, flags, vegetation, dust), weight the middle third heaviest, and enter a single "effective" value. When zones oppose each other they partly cancel; when they stack, use the sum. This is judgment, not arithmetic — the reason wind calling stays a skill.
Speed of sound, time to "bing", and the transonic line
Sound speed in air depends almost entirely on temperature (≈331 m/s at 0 °C, +0.6 m/s per °C), rises slightly with humidity (moist air is lighter, so sound travels faster), and — surprisingly — does not change with pressure alone, because for an ideal gas c = √(γ·p/ρ) and density scales with pressure. Our engine computes it this way, so the transonic marker (Mach 1.2) and every Mach number shift correctly with conditions.
Time to "bing": on steel you pull the trigger, the bullet flies to the target (its time of flight), it rings, and that sound travels back to you at the local speed of sound. The total wait is flight time + range ÷ sound speed — often 3–4 seconds at 1000 m. You hear your own muzzle blast instantly; the pause before the "bing" is the round arriving and its echo returning. The Time-to-Bing tool computes it from the current solution.
Can matrices & vectors solve the trajectory faster?
Not the single shot. Solving a trajectory is integrating a nonlinear differential equation — drag depends on Mach through a lookup table — so it can't be written as a linear system A·x = b and solved by inversion. And RK4 is a sequential recurrence: each step needs the previous state, so the time steps of one trajectory can't be parallelised. The state is already a 6-vector [x,y,z,vx,vy,vz] and its derivative a small vector op, so "vectorising" one shot buys almost nothing — the cost is the serial loop and the table lookup, not the arithmetic.
Where vectors/matrices do win: (1) running many DIFFERENT trajectories at once in SIMD/GPU lanes; (2) propagating uncertainty as a covariance matrix. Both are below.
SIMD & GPU batch solving (the bulk-speed lever)
When you need thousands of solves — Monte-Carlo hit probability, a wind bracket, a full range card — you run several trajectories in parallel lanes: identical RK4 math, different data per lane (different wind, muzzle-velocity sample, etc.). CPU SIMD gives ~4–8×; a GPU compute shader 100×+. WebAssembly has 128-bit SIMD, so even in the browser a batch can get ~2× on doubles.
The one wrinkle is divergence: trajectories finish at different flight times, so finished lanes are masked off and their extra steps wasted. Net still a big win when flight times are similar. This is how production and military solvers compute large batches; a single interactive shot doesn't benefit, which is why our app keeps the scalar path for the HUD and reserves batching for bulk native work.
Covariance propagation & the dispersion ellipse (WEZ)
Instead of firing a Monte-Carlo cloud, you can push your input uncertainties through the trajectory in one linear-algebra step. Each uncertain input (muzzle-velocity spread, wind-call error, ranging error, rifle group) gets a Jacobian column jⱼ = [Δhoriz, Δvert] — the impact shift for one standard deviation, from a quick finite-difference solve. The impact covariance is C = σ_rifle²·I + Σ jⱼ jⱼᵀ, a 2×2 matrix.
Its eigenvalues give the 1σ dispersion ellipse (semi-axes and tilt); its off-diagonal captures correlations a per-axis calculation misses (e.g. a crosswind that nudges both windage and, via aerodynamic jump, elevation). Hit probability is then the integral of the bivariate normal N(0,C) over the target rectangle. This is the "weapon engagement zone" (WEZ) method — the Hit Probability tool now uses it, and it shows which input dominates your miss (usually wind, then ranging, at distance).
Reading the wind — the field method
Bryan Litz calls wind the highest-priority study for long-range shooters, because unlike drop it can't be pre-computed: its speed and direction change along the path, with swirls and eddies your first estimate can't capture. Under ~50 m a crosswind barely matters; past that it dominates lateral error (a 5 mph left-to-right wind pushes a .308 about 3 in / 76 mm at 300 m).
Estimating speed without a meter: flag angle ÷ 4 = wind in mph (a flag at 60° ≈ 15 mph). Or the Beaufort scale by what moves: smoke drifts ≈3 mph, leaves rustle ≈7, small branches move ≈19, small trees sway ≈24. A Kestrel gives the exact wind at your position (current, gust, lull, average) but only there — you still read grass, mirage, dust downrange to judge the whole path.
Clock values: put yourself at the centre, target at 12. Wind from 3 or 9 o'clock is full value (multiplier 1); 1/2/4/5/7/8/10/11 o'clock is half value; 6/12 is no value. The app's wind-angle input uses the same convention (angle = clock × 30°).
Wind quick-math (USMC formula) & a .308 memory table
A field starting point for windage in MOA: range(100s of yards) × wind(mph) ÷ C, where C is a range constant: 15 out to 500 m, 14 at 600, 13 at 700–800, 12 at 900, 11 at 1000. Example: 300 m, 10 mph full-value → 3 × 10 ÷ 15 = 2 MOA, dial 2 MOA into the wind. Good to ~500 m, then the shrinking C corrects the growing lag.
A full-value 10 mph on a 175 gr .308 at 2600 fps drifts, in inches by yardage: 100→1, 200→3, 300→7, 400→14, 500→22, 600→33, 700→47, 800→64, 900→84. Once you know one wind, everything scales: half value = half the hold; 5 mph = half of the 10 mph number. This app does it exactly, but the memory table is the backup when the battery dies.
Anatomy of a projectile — ogive, BC, V₀ and Vr
A bullet's long-range behaviour is set by its shape. The ogive (the curved nose) and boat-tail determine the form factor — how closely it matches the G7 reference. A secant/tangent VLD ogive is more streamlined than a round-nose, giving a higher ballistic coefficient (BC = sectional density ÷ form factor): more velocity retained, less drop and drift.
V₀ (muzzle velocity) starts the whole solution; Vr (remaining velocity at the target) decides whether the bullet is still supersonic, how much it has drifted, and its terminal energy. Two bullets of equal weight can differ 30% in Vr at 1000 m purely on ogive shape. Compare candidates on BC and retained velocity, not weight alone — the app's compare overlay and the velocity column show exactly this.
Choosing barrel length & finding the transonic wall
A longer barrel burns more powder before the bullet exits, so it raises muzzle velocity (very roughly 6–12 m/s per 2.5 cm for a rifle cartridge, tapering off past the powder's efficient length). More V₀ pushes the transonic wall — where the bullet slows to ~Mach 1.2 and predictability degrades — farther downrange, extending your usable range. The trade is a heavier, whippier, louder barrel.
To find your transonic distance: run the trajectory and read where velocity crosses ~408 m/s (Mach 1.2 at sea level) — the app flags that row red. Match the barrel length and load so the transonic wall sits beyond your farthest expected target; a bullet going transonic before it arrives can destabilise and disperse.
Internal ballistics & barrel harmonics (load tuning)
When the round fires, the barrel whips like a tuning fork. The bullet should exit at a consistent point in that vibration cycle — a node — so shot-to-shot muzzle direction stays constant and groups tighten. Handloaders find the node by walking powder charge or seating depth and watching where group size and velocity spread flatten out (the "OCW"/ladder test).
This is upstream of the exterior solution the app computes, but it sets two inputs that matter here: a tuned load lowers your muzzle-velocity SD (less vertical dispersion at distance) and stabilises V₀ for truing. Barrel harmonics is why the same ammo can group differently in two rifles.
Scope selection & setup — parallax, diopter, eye alignment, cant
Beyond magnification and reticle, four setup details cost real accuracy. Parallax: if the reticle appears to swim on the target when your head moves, the focal planes don't coincide — set the side/objective parallax dial per distance until the reticle is stationary. Ocular diopter: focus the eyepiece on the reticle itself (against a blank sky) so the crosshair is razor-sharp for your eye — do this once. Eye alignment & eye relief: centre your eye behind the tube to avoid a shadow/scope-shift error and keep consistent cheek weld. Cant: a tilted scope throws shots sideways in proportion to your dialed elevation (see the cant article) — use a bubble level.
Also verify the turret truth (a "10 mil" dial may move 9.8 — measure with a tall-target test and enter the correction factor) and pick the reticle/units that match your turrets. The app models cant, correction factors, FFP/SFP and the real reticle subtensions.
Dynamic stability (not just gyroscopic)
Gyroscopic stability (Sg, the HUD footer) says the bullet won't tumble at the muzzle. Dynamic stability is separate: whether small yaw oscillations damp out or grow over the flight. A bullet can be gyroscopically stable yet dynamically marginal, coning slightly and losing BC — or go unstable in the transonic zone even with high Sg. Dynamic stability worsens with very high spin (over-stabilised) and in the transonic region.
Practical guidance: aim for Sg ≥ 1.5 at your coldest conditions for a margin, but know it's not the whole story — some bullets simply won't survive transonic no matter the twist, which is why the supersonic window is the honest limit. The app tracks Sg and flags transonic; true dynamic stability needs measured (Doppler) yaw data.
Temperature & humidity — field rules of thumb
Two effects to separate. Ammo temperature changes powder burn rate: a common rule is that a 20 °C rise from your zero conditions lifts impact ~1 MOA (hotter powder = faster = higher), and a 20 °C drop lowers it ~1 MOA — measure your load's real sensitivity and enter it. Air density changes drag: lower pressure, higher altitude, higher temperature and higher humidity all thin the air and flatten the trajectory (a .308 drops ~213 in at 800 m at sea level but only ~194 in at 5000 ft — nearly 2.5 MOA).
Humidity is the weakest input by far: the field rule is ~1 MOA low per 20% rise, but in practice it's near-negligible at normal ranges — the app computes it (moist air is actually slightly LESS dense) and you'll rarely see the dial move. Don't chase humidity; chase temperature and pressure.
Light, mirage & the Dutil effect
Light and heat bend the sight picture as much as the bullet. Mirage (heat shimmer) both reads the wind and shifts the target's apparent position, usually upward and toward the flow on a strong boil — favour a low hold and shoot between boils. Light matters too: a target lit from one side can look displaced toward the bright side, and low-angle sun washes out the reticle; sun behind you gives the cleanest picture.
The "effet Dutil" is a concept named in Mario Dutil's precision-shooting curriculum (Sniper Québec / contrevisee.com), where it appears specifically as "l'effet Dutil, quantification des effets du mirage" — i.e. his method for turning the mirage/light-induced shift of the apparent target into a MEASURABLE correction, rather than a vague "hold low". No public technical definition or patent for it could be found (checked EPO/Justia patent indexes and his course pages) — it is proprietary teaching, taught hands-on in his mirage module. So it's a field-craft quantification of the optical shift between where you SEE the target and where it IS, not something this solver computes. If the actual method were published, it could be added as a mirage-quantification tool here.
Training the wind with a .22 LR
Serious shooters practise wind reading with a .22 LR because its slow, low-BC bullet exaggerates every effect: a rimfire round at 200 m drifts and drops like a centrefire at 700–800 m, so a short, cheap, quiet range teaches the same wind calls. If you can hold a group in switching wind and mirage with a .22 at 200 m, the centrefire at distance feels forgiving.
It also trains discipline — reading lulls and boils, timing the release, logging conditions — without barrel wear or recoil fatigue. Build the load in the app (22 LR is in the ammo library), note how much a 2 m/s change moves you at 200 m, and use it as a calibrated wind-reading trainer.
Barrel break-in (rodage) — why & how, per Mario Dutil
Why it matters. When the barrel is chambered, the reamer cuts the throat (gorge) where the rifling begins. Because the grooves and the bore sit at different depths there, a slightly worn reamer leaves tiny burrs at the throat, perpendicular to the bullet's path — like the ragged edge left when a drill breaks through steel. On the first shots those burrs shave the bullet's copper jacket; under the heat and pressure of firing that copper vaporises into a plasma, blows down the bore and plates onto the walls in a thin, UNEVEN copper layer you can't see without a borescope. Once fused it's hard to remove, it invites more copper fouling, and it gives the bullet inconsistent resistance shot to shot — variability at the target.
The point of break-in is to scrub that molten copper off as it appears, shot by shot, until the throat burrs are worn smooth by the bullets themselves. Do it ONCE in the barrel's life, before real use, with plain copper-jacketed (non-chemically-treated) bullets, a bore guide, and a one-piece rigid cleaning rod.
Sniper Québec procedure: clean with a good copper solvent first, then — 1 shot + full clean, repeated 5 times (5 shots / 5 cleans); then 3 shots + full clean, repeated 5 times (15 shots / 5 cleans). After that, clean after every session and never exceed ~60 rounds between cleanings. (Attributed to Mario Dutil, Sniper Québec — sniperquebec.com. This is barrel care upstream of the trajectory, but a clean, consistent bore is what makes your muzzle-velocity SD and zero repeatable enough for the solver to be worth trusting.)
2. Wind is full value. No terrain friction: the wind over water is stronger and steadier than at your shooting position. Use the upper end of your bracket.
3. Air is cooler & denser. Enter the temperature AT the water surface, not at your position — more drag than the shore reading suggests.