1933–1991

Rangekeeper

A sixteen-inch shell is in the air for most of a minute, so the gun cannot be aimed at the target. It has to be aimed where the target will have got to, and how far ahead that is depends on how long the shell flies, which depends on how far it has to go. The answer is on both sides of the equation. What solved it was not a calculator but an assembly of six kinds of mechanism, geared together so that the only position they can all rest in is the answer.

New to computing without a computer? Start here

A shell fired from a moving ship at a moving target is in the air for most of a minute, so you cannot aim at where the target is. You must aim at where it will be, and that depends on your speed, its speed, the wind, the roll of the deck, and the time of flight, which itself depends on the answer.

The answer appears on both sides of the equation. Machines that could iterate existed — Bush’s differential analyser had been running at MIT since 1931 — but none of them was going to sea in a turret, so the answer was not calculated at all. It was built: gears, cams and shafts arranged so that turning the inputs leaves the whole assembly with exactly one position it can rest in, and that resting position is the answer. The machine does not solve the equation. The machine is the equation.

The parts

Six kinds of mechanism, each doing one piece of arithmetic by moving. Operate them here before seeing them wired together. Everything below is described in Ford's patent, and where it has words for a part they are quoted with it.

  1. Integrator of the ball and disk typeturns a rate into a quantity. The disk spins at a constant speed from a spring motor, the ball sits at a radius set by the range rate, and the roller it drives accumulates the range.a driving element rotatable at a constant speed and a driven element whose speed is varied in accordance with the range rate
  2. Component solver a pin in two slotted armssplits a ship's course and speed into the part that closes the range and the part that swings the bearing, by driving two slides at right angles.a slide 74, which is parallel to the line of sight
  3. Differential two shafts in, one outadds two rotations. Feed it both ships' along-the-line components and its output shaft is the range rate.the sum of the components of the vectors DA and EB along the line of sight give the rate of change of range
  4. Multiplier an integrator used sidewaysturns in proportion to the product of its inputs.
  5. Cam the range table, cut in metalreads a published table by shape, so interpolating between its rows is geometry.
  6. Servo follow-up a shaft chasing a demandcatches up to what it is told at a limited rate. This is what makes the assembly settle rather than iterate, and why the machine solves continuously.

Integrator of the ball and disk type

The disk turns at a constant speed from a spring motor: it is the machine's clock. The ball sits at a radius you set, and the roller it drives accumulates. Set a rate, run it, and the roller reads the total.

The disk is stopped, the roller is adding 0.0 per second, and the total is 0.0 after 0.0 s.

Component solver a pin in two slotted arms

A ship's course and speed go in; two slides come out, one parallel to the line of sight and one at right angles to it. The first closes or opens the range, the second swings the bearing.

along the sight
-7.96 yd/s closing
across it
-7.96 yd/s to the left
recomposed
11.252 yd/s, which is the speed it went in as

Differential and multiplier two shafts in, one out

The differential turns by the sum of its inputs, and subtracts by turning one of them the other way. The multiplier turns in proportion to their product. Between them they are most of the arithmetic in the machine.

differential
12 + (-7) = 5
multiplier
12 × (-7) = -84

Cam the range table, cut in metal

The follower rides a profile whose shape is the published range table, so reading between its printed rows is geometry. The rows this cam is cut from are marked along it.

elevation
11.77°
time of flight
29.59 s
on a printed row?
yes: this is a row the table prints

Servo follow-up a shaft chasing a demand

This is the part that makes the assembly continuous rather than iterative. It does not jump to what it is told; it catches up at a limited rate, and while the demand keeps moving it runs permanently a little behind, which is why the reading is always a little out of date. It does not overshoot here because there is no inertia in this model: the step is clamped to whatever error is left. A real follow-up has mass, and what stops it hunting around the demand is damping, not the rate limit.

The shaft is at 80.0, caught up with the demand.

The computer

Now the parts wired together the way the patent wires them. Two component solvers, one per ship. Two differentials, summing their outputs into the range rate and the deflection rate. The integrator generating the range from the range rate. The cam reading the time of flight. And the follow-ups chasing a demand that depends on the flight time the cam is reading off the range they are being driven to.

Nothing here is stepped. Press run and every shaft moves a little at a time, and the assembly arrives at the answer because it is built so that only the answer is stable.

generated range19,999 yd
gun range19,955 yd
line of sight045°
gun bearing045°
own ship resolves to
10.74 along, -10.74 across
target resolves to
-7.96 along, -7.96 across
range rate
-18.70 yd/s closing
deflection rate
2.78 yd/s across
generated range
19,999 yd
time of flight
29.51 s
gun range
19,955 yd
gun elevation
11.74°
gun bearing
045°
follow-ups
still catching up, 554 yd behind
inside the range table
yes, 5,000 to 42,345 yd

What it cannot know

Everything above assumes the target holds its course for the whole time of flight. Nothing in the machine can check that. Turn the target part-way through the shell's flight and the solution is still confident and now wrong.

the shell misses by
178 yd
The machine solved for a target holding 270° for the whole 29.5 seconds. It turned after 10. Nothing in the mechanism can see that, so it is still confident.

The correction that arrives late

The rangekeeper computes and the guns fire, and then the only feedback the whole system gets is somebody watching where the shells land. “It is the job of the spotter to note where shots fall so that necessary corrections can be made.”

The part that is easy to miss is when that observation arrives. A shell fired at 20,000 yards is in the air for 29.59 seconds, which is a number off the range table further down this page. The splash you are looking at belongs to a solution half a minute old, and a target making twenty knots has moved about three hundred yards in the meantime.

Each salvo, where it was aimed and where it fell
salvoaimed atflighttarget movedfellspotter says
120,000 yd29.59 s333 yd20,000 ydshort by 333 yd
220,333 yd30.24 s340 yd20,333 ydshort by 340 yd
320,673 yd30.90 s348 yd20,673 ydshort by 348 yd
421,021 yd31.57 s355 yd21,021 ydshort by 355 yd
521,376 yd32.26 s363 yd21,376 ydshort by 363 yd
621,739 yd32.97 s371 yd21,739 ydshort by 371 yd

Six salvos, no straddle, and the last one is no closer than the first. Every correction is exactly right about where the target WAS when the shells landed, and by the time the next salvo arrives it has moved again by the same amount. Correcting by what you saw chases the target forever.

And how small the target really is

A salvo is not one splash. “The spacing between the shots is dispersion”, and nine guns laid identically put nine shells across a couple of hundred yards. The surprise is the other half. A battleship is nearly three hundred yards long and almost none of that is a target, because the shell is coming down at an angle and one that clears the deck keeps going.

The appendix has the name for what is left: “The hitting space for a material target is the distance behind the target that a shot striking the top of the target will strike the horizontal plane through the base of the target.” And it says where to get it: “Hitting space must be computed from column 19 of the range tables or directly from the angle of fall of the shot.” The angle of fall is in the table further down this page, so that is where this reads it.

angle of fall, off the table
14.92° at 20,000 yd
hitting space, a 30 ft target
37.5 yd
pattern, first splash to last
206 yd
hits
1 of 9
the spotter sees
a straddle: shells short and shells over
Where a perfectly aimed salvo of nine shells fellA waterline with the target on it. The band a shell can actually hit is 37.5 yards deep. Nine splashes are strung across 206 yards: 4 short, 1 in the band, 4 over.−200 yd+200 yd37.5 yd is all there is to hitA straddle, and one hit.4 short, 4 over, 1 of nine in the water that counts. 20,000 yards, the shell falling at 14.92°.
Each gun of the salvo and where its shell fell relative to the target
gunfellresult
1−103 ydshort
2+43 ydover
3−51 ydshort
4+94 ydover
5−15 ydshort
6+77 ydover
7−112 ydshort
8+13 ydhit
9+55 ydover

Perfectly aimed. The mean point of impact is on the target, the salvo straddles, and 1 shell of nine hits, because the pattern is 206 yd across and the target is 37.5 yards deep. A straddle is not a hit and never was.

Why this had to be a machine

Write the problem down and it will not sit still. The future range is the distance to wherever the target gets to in T seconds. T is the time of flight for that range, which the gun's range table gives you. Neither can be worked out first, because each one needs the other.

A rangekeeper did not solve that by trying values. It was built so that the two statements were the positions of two shafts, geared so that they could only agree, and the mechanism ran continuously into the position where they did. Ford's patent puts the whole ambition in one clause: it is an instrument for furnishing continuous indications of the range rate and the deflection rate, and also for generating the range.

What it sat inside

This page draws mechanisms, not an installation, but the mechanisms were not loose in a room. Naval Ordnance and Gunnery, the Navy’s own training text, lists the main battery fire-control system unit by unit, and the list is short. It runs, numbered: “Main directors—two Mark 38”, “Range keepers—two Mark 8 (Mods. 9 or 11)”, “Stable elements—two Mark 41 or 43 stable verticals”, and “Range finders—one in each Mark 38 director and one in each turret.” Two of everything, because a battleship that has lost a director is still expected to shoot.

The same chapter says which ships: the system it describes is the one “used to control the 16-inch battery on newly constructed battleships”, whose main battery “consists of nine guns (45 cal. on some, 50 cal. on others) mounted in three triple-gun, centerline turrets, two forward and one aft.” That parenthesis is the whole reason the range table on this page changed. Forty-five calibres is the North Carolina and South Dakota classes; fifty is the Iowa class, and fifty is the gun whose table the cam here is now cut from.

The two mechanisms this page lets you turn are defined in the same book, in the service’s own words rather than this page’s. Of the component solver: “The most common application in range keepers is the resolution of own ship, target and wind motions into line and cross components with respect to the line of sight to the target.” Of the integrators: “Basically, they are all multiplying devices”, and the ones “employed to keep range are of the disk type, which is commonly used to multiply a rate by time.”

How the sum is arranged

The two ships' vectors are resolved against the line of sight, and then simply added. The patent says it plainly: the sum of the components of the vectors DA and EB along the line of sight give the rate of change of range, while the components along the line normal to the line of sight will give the deflection rate. That is two component solvers and two differentials, and it is the entire geometry of the problem.

Then the range itself. The machine has no memory in the sense a computer does, no cell you can write a range into and read back; what it has instead is a shaft whose angle IS the range, held there because it turned at the right speed for the right length of time. That angle is state, and it is stored the way a physical thing stores anything, by being in a position. The patent's own description of the part that does it: a driving element rotatable at a constant speed and a driven element whose speed is varied in accordance with the range rate, and the mechanism is of the ball and disk type. The constant speed comes from a spring motor. Time enters this computer as a rotation.

The range table was a physical object

The ballistics here are not computed from a formula. They are read from a published range table for the 16-inch 50-calibre Mark 7 gun, the gun the Iowa class carried, which is how the machine did it too: the table was cut as a cam, a shaped piece of metal whose profile was the curve, and a follower riding that profile interpolated between the printed rows as a matter of geometry rather than arithmetic.

That is also where this page's honesty starts, because the table it uses has an error in it.

What is real here, and what is not

The dispersion is a control, not a measurement of any ship

The pattern size on the salvo panel is a number you set, and no figure here is claimed as the real dispersion of the Iowa class or any other. Published dispersion figures exist, they vary by gun, powder lot, turret and year, and the argument the panel makes does not need one: it needs you to see what happens to the hits when the pattern changes and the aim does not. The deviations within a salvo come off a fixed table so the same salvo lands in the same places every time, which a model built on random numbers could not be tested against.

Range only, and no wild shots

A shell forty yards to the left of a battleship misses it, and this model does not know about left. Everything on the salvo panel is measured along the line of fire, which is the half the rangekeeper solves and the half the range table is about. The manual's definitions of the mean point of impact and of a straddle both say “excluding wild shots”, and that exclusion is doing real work in gunnery analysis; there are no wild shots here at all, so the patterns are tidier than a real salvo.

Thirty feet of target, and where that number is not from

The hitting space depends on how tall the target is, and thirty feet is a round figure standing in for the part of a ship a shell can strike on the way down. It is not a measurement of a named vessel. The number that matters is not that one: it is the angle of fall, which is read off the range table on this page, and which is what makes the target twelve yards deep at 36,000 yards and a hundred and fourteen at 10,000.

The range table is sampled from a secondary source

The nine rows come from navweaps.com, which names its own source as BuOrd Ordnance Pamphlet No. 770, the 16-inch range table for 2,500 feet per second initial velocity, October 1941. That primary has been read. It is a scan of thirty-three pages with no text layer, the table itself running from page 16 to page 32 in hundred-yard steps, and it was read as an image rather than through character recognition, because recognised digits in a range table are the one thing that must not be trusted. At 10,000 yards the pamphlet prints five degrees and 02.9 minutes, with 302.9 in the minutes column beside it. That is 5.048 degrees. navweaps publishes 5.05, so the two agree, and the test derives that conversion rather than restating it. Two more rows were read the same way and are recorded in the data file with the page they sit on.

What the primary has not been used for is the rows themselves: these nine are still navweaps' sampling every five thousand yards, not a transcription of a table printed every hundred. The data file says so in as many words, so that this page's claim to have read the primary cannot be taken for more than it is. This table also clears checks the 16-inch 45-calibre table that used to be here failed: all twenty-seven printed metric conversions are right, and elevation, angle of fall, time of flight and maximum ordinate all rise with range. The old one printed a maximum ordinate as 7,670 feet and 234 metres, when 7,670 feet is 2,338 metres.

The parts are exact, and real mechanisms were not

Every mechanism on this page does its arithmetic perfectly. A real one had backlash in its gears, friction in its bearings and a manufacturing tolerance on every dimension, and the accumulated slop was part of why gunnery needed spotting corrections after each salvo rather than trusting the solution. What is modelled here is what each part is for, not how well an actual one did it.

The slew rates are chosen, not measured

The follow-ups move at a few hundred yards a second and a dozen degrees a second, and those numbers were picked so the settling is visible on a screen rather than taken from any mechanism. What is not a choice is that the rates are finite, which is the entire reason the assembly settles rather than jumping. The test suite winds them up to the point where the shafts catch up instantly and requires the machine to reach the same answer as an ordinary fixed-point solver, which is how the composition is checked.

The interpolation is straight, and a cam's was not

Between two printed rows this page moves in a straight line. A machined cam followed a smooth curve fitted to the whole table, so it disagreed with a straight line everywhere except at the rows themselves. The difference is small next to everything else here and it is real, so it is written down rather than implied away.

This is the geometry, not the whole machine

A real rangekeeper solved a considerably larger problem than this page does: own ship's roll and pitch, the parallax between turrets that are a hundred feet apart, wind, drift from the shell's own spin, powder temperature, barrel wear, and the corrections a spotter called back after each salvo. None of that is here. What is here is the part that makes it a computer rather than a calculator, which is the loop, and that part is complete and checked.

It is a weapons system, and this page is about the computing

What is modelled here is mechanical analogue computation: an implicit equation solved by a mechanism built so that its own geometry is the answer. The machine existed to lay guns on ships, and saying otherwise would be a lie of omission. It is a decision on the record that the subject is worth explaining as computing history, and the context is not softened here or elsewhere on the page.

Two methods, because a fixed point is easy to get wrong

The assembly is one way to find where the two statements agree: run the mechanism and let it settle. The test suite finds it a second way, by bisection on the difference between the two sides, sharing no code with the first, and requires the two answers to agree. A single method checked against itself proves nothing, and this is the sort of arithmetic where a plausible wrong answer looks exactly like a right one.

How this machine was built, what it is measured against, and the day it was cut to the wrong ship’s gun: the engineering notebook.

Sources