Wrist DopeWrist Dope

Nerd stuff · White paper

Do atmospheric conditions matter when you zero a rifle?

Does it matter where you zeroed? The zero condition in exterior ballistics: why solvers ask about it, why a 100-yard zero mostly makes the question go away, and what the realistic extremes of Earth's atmosphere do to a firing solution when nobody accounts for them.

Prefer the short version with charts? Do weather conditions matter when zeroing? Same rifle, twenty feet apart

The short version

We ran a reference load (.308 Win, 175 gr, G7 BC 0.243, 2,650 fps) through Wrist Dope's ballistics engine under the two most hostile realistic shooting environments on Earth: an arctic winter morning at sea level (−40°, 1040 hPa) and a 95 °F afternoon at 10,000 ft of elevation. The air density between those two sites differs by a factor of 1.97. Density altitude spans from −8,360 ft to +14,324 ft.

Three results matter:

  1. A 100-yard zero barely notices any of it. Moving the rifle between those two extremes shifts the 100-yard impact by 0.03 to 0.04 inches from the air alone, and about a quarter inch once cold powder is included. That is one click on most scopes.
  2. The firing solution notices all of it. The 1,000-yard come-up is 52.1 MOA in the arctic air and 29.1 MOA in the thin hot air. A shooter who carries dope from one extreme to the other misses by 23 MOA, which is just over 20 feet of vertical at 1,000 yards.
  3. You do not need the extremes for this to hurt. The same mismatch is a 37-inch miss at 600 yards and a 10-inch miss at 400, and even a quarter of that swing (an ordinary summer-lowlands zero shot on a late-season mountain hunt) is enough to push a 600-yard shot out of a deer's vital zone.

The practical conclusion is old advice with numbers behind it: zero at 100 yards in calm air, then let a solver carry the environment from there. The rest of this paper explains why that works.

A zero is a measurement, not a setting

A rifle and scope together contain exactly one unknown that matters here: the angle between the bore axis and the line of sight. You cannot see this angle or measure it with hand tools to the precision required. So you measure it with the bullet. You fire at a known distance, observe where the group lands relative to the crosshair, and adjust the sight until the trajectory crosses the line of sight at that distance. That is all a zero is: an angle measurement in which the bullet is the measuring instrument.

Here is the catch. The measuring instrument flies through air, and it flies at whatever muzzle velocity the ammunition produced that day. The bullet's arc between the muzzle and the 100-yard target already contains a little bit of drag and a little bit of that day's powder temperature. Whatever conditions existed at the moment you zeroed are baked into the sight setting, permanently, whether you wrote them down or not. Those are the zero conditions.

A ballistic solver works backward from your zero. You tell it "this rifle crosses the line of sight at 100 yards," and it reconstructs the bore angle that makes that true, then rotates the whole predicted trajectory to sit on that angle. To reconstruct the angle correctly, the solver must recreate the flight that produced it, which means it needs to know what the air and the ammunition were doing when you zeroed. If it silently assumes the zero happened in today's conditions, and the zero actually happened in different conditions, the reconstructed angle is wrong by the difference, and that error rides along on every shot at every distance afterward. This is the value of a zero-condition input: it decouples the geometry of your rifle from the weather on the day you happened to measure it.

How much the error can grow depends almost entirely on one choice: the distance at which you zeroed.

The case for 100 yards

At 100 yards our reference bullet is in the air for about 0.12 seconds. Drag has barely begun to work. The bullet falls roughly four inches below the bore line in that time, and air density only gets to influence those four inches, not the 400-inch drop it will influence at 1,000 yards.

So we asked the engine: take a rifle zeroed at 100 yards under standard sea-level conditions, freeze the sight setting, and fire it at 100 yards in each extreme.

Fired at 100 yd inImpact shift
Arctic air only (velocity held constant)0.03 in low
Hot 10,000 ft air only (velocity held constant)0.04 in high
Arctic air plus cold powder (2,551 fps)0.24 in low
Hot air plus hot powder (2,686 fps)0.11 in high

A quarter inch, at the absolute environmental limits of the planet, most of it from the powder rather than the air. No rifle shoots well enough to see the air-only numbers, and the group you fire to confirm zero has more scatter than the effect you would be chasing. This is why a 100-yard zero is portable: the measurement contains so little atmosphere that it transfers between environments almost perfectly, and the solver's zero-condition input has almost nothing to correct.

Zero farther out and the picture changes. Solve the same rifle's zero at 300 yards in each environment and the resulting bore angles differ by 1.65 MOA between the extremes. That is atmosphere permanently soldered into the sight setting. Feed that zero to a solver without telling it where the zeroing happened and every long shot inherits the error: about 17 inches of vertical at 1,000 yards, before the day's conditions have added anything. A far zero also collects wind. A 10 mph crosswind moves this bullet 0.73 inches at 100 yards, which a careful shooter can wait out or average away; at 300 yards and beyond, the wind contamination in a zero group quietly becomes part of your windage setting.

Zeroing at 100 yards is therefore not a convention or a range-availability compromise. It is the choice that keeps the measurement clean. Short enough that the atmosphere, the powder temperature, and the wind barely touch it. Far enough that sight adjustment and parallax behave. What you get is a nearly pure reading of the one thing the zero exists to capture, the bore-to-sight angle, and you let the solver handle everything the environment does downrange.

What actually moves the solution

Gravity is the same at both of our sites. Every inch of the spread in this paper comes from the air and the powder. To rank the contributors, we changed one variable at a time from the standard baseline and read the 600-yard come-up:

Variable (one at a time, 600 yd)Change in solution
Arctic air (dense, cold)+1.62 MOA (10 in)
Hot 10,000 ft air (thin)−2.21 MOA (−14 in)
Cold powder alone (−99 fps)+1.48 MOA (9 in)
Hot powder alone (+36 fps)−0.50 MOA (−3 in)
Humidity, 0% to 100% at 95 °F (read at 1,000 yd)0.61 MOA

Two things stand out.

Air density comes first, and it is a two-ingredient number: station pressure and temperature. Pressure falls about 3% per thousand feet of elevation and does most of the work; temperature adjusts the result by roughly 2% of density per 10 °C. This is why a solver wants current station pressure and temperature (or a density altitude) rather than an elevation looked up from a map.

Powder temperature is nearly as strong as the air, and shooters forget it because it never appears on a weather app. Our model uses 1 fps per °F, typical of a temperature-sensitive powder; ammunition that sat in a truck at −40° leaves the muzzle 99 fps slower than it chronographed in September, and that alone is a 9-inch shift at 600 yards. Temperature-stable powders cut this several-fold, but few factory loads publish the number. The asymmetry in the table is real, by the way: our 59 °F baseline sits much closer to the hot extreme than the cold one, so winter costs far more velocity than summer returns.

Humidity comes last, and it runs backward from intuition: humid air is less dense than dry air, because water vapor is lighter than the nitrogen and oxygen it displaces. Swinging from bone dry to fully saturated on a hot day is worth about 0.6 MOA at 1,000 yards and nothing at all inside 600. It is the one atmospheric input you can afford to guess.

The worst case on Earth

Now put everything together. Same rifle, same ammunition, zeroed at 100 yards in its own local conditions at each site, solver run correctly for each site:

RangeArctic sea levelHot, 10,000 ftSpreadSpread on target
300 yd5.6 MOA4.3 MOA1.3 MOA4 in
600 yd19.2 MOA13.3 MOA5.9 MOA37 in
800 yd32.7 MOA20.6 MOA12.2 MOA102 in
1,000 yd52.1 MOA29.1 MOA23.0 MOA241 in

The engine confirms the worst case directly: hold the hot-and-high dope on a 1,000-yard target in the arctic air and the bullet strikes 241 inches low. Hold the arctic dope in the thin air and it strikes 241 inches high. Twenty feet, either direction. Even a shooter carrying ordinary sea-level standard dope into just one of the extremes misses by 107 to 135 inches at 1,000, roughly nine to eleven feet.

The spread is not merely a bigger drop number. By 1,000 yards the two bullets are living in different physical regimes. In the thin hot air the bullet arrives at 1,600 fps, still comfortably supersonic at Mach 1.39, in 1.45 seconds of flight. In the dense arctic air the same bullet has fallen through the sound barrier well before the target and arrives subsonic at 912 fps after 2.05 seconds, with all the transonic instability risk that implies. Environment does not just move the impact point; it decides whether your bullet is still flying well when it gets there.

And the extremes are only the bookends. Interpolate anywhere along the table: a rifle zeroed and doped on a 95 °F Texas summer weekend, then carried to a November elk hunt at elevation, can easily see a quarter to a third of the full spread. At 600 yards that is the difference between a vital hit and wounded game.

What to do about it

The physics above reduces to a short field discipline:

  1. Zero at 100 yards, in calm air. The zero becomes a clean geometric constant that travels with the rifle anywhere on Earth, and wind never gets a vote in your sight setting.
  2. Record the conditions anyway. Temperature, station pressure, and the ammunition lot cost nothing to write down, and they make your zero auditable if something ever looks wrong. If you must zero long, the record stops the atmosphere of that day from silently becoming part of your rifle. A solver that accepts zero conditions can then undo the contamination.
  3. Chronograph your load, and learn its temperature sensitivity. Muzzle velocity is the second-largest lever in the table and the only one the weather station cannot tell you. Verify velocity near the temperatures you actually shoot in, or load with a temperature-stable powder and confirm.
  4. Give the solver the air you are standing in. Current station pressure and temperature at the firing point, every time the environment changes. This is precisely the work a solver exists to do, and it is why Wrist Dope reads the conditions where you are rather than assuming the day you zeroed was standard.

None of this adds effort at the range. It moves the effort to where it counts: one clean measurement at 100 yards, one honest chronograph session, and live conditions at the moment of the shot.

The takeaway

Zero conditions are noise. Shot conditions are feet.

Everything on this page points at one division of labor. The weather on the day you zeroed is worth hundredths of an inch, so nothing needs to remember it. The weather at the moment of the shot moves impacts by feet, so something has to measure it, where you stand, when you press the trigger. Guessing does not work: station pressure falls with every thousand feet you climb, the swing from a summer zeroing session to a cold late-season morning moves a 600-yard impact about the height of a deer's vital zone, and the weather app on your phone reports conditions from an airport, not your ridge.

That means some instrument at the firing point has to read the air: temperature, station pressure, and altitude, the three numbers that set the density your bullet actually flies through. A handheld weather meter does the job. A watch does it without being asked. Wrist Dope reads the barometer on your wrist for the true pressure where you stand, GPS for your altitude, and live local weather for temperature, then rebuilds your firing solution every time the air changes. Your clean 100-yard zero plus a sensor on your arm covers the atmosphere for you, with nothing to type and no card to reprint.

All trajectories in this paper were computed with WristBallistics, the ballistics engine inside Wrist Dope: a point-mass model integrated with fourth-order Runge-Kutta, G7 reference drag, and an ICAO/US Standard Atmosphere 1976 moist-air model. The engine is validated against independently published reference trajectories to within 0.1 mil. Reference load: .308 Winchester, 175 gr match bullet, G7 BC 0.243, muzzle velocity 2,650 fps at 59 °F, powder sensitivity 1 fps/°F, sight height 1.5 in, level fire, no wind unless stated. Conditions: ICAO standard (59 °F, 1013.25 hPa, sea level); arctic winter (−40°, 1040 hPa station pressure, sea level; density 1.554 kg/m³, density altitude −8,360 ft); hot high desert (95 °F at 10,000 ft station elevation, 697 hPa; density 0.788 kg/m³, density altitude +14,324 ft). Both extreme sites correspond to real, regularly shot-in environments: interior Alaska or Siberia in January, and the American mountain West or the Altiplano in summer. Percentages scale to other cartridges; slower and lower-BC bullets fare worse in every table above.