Precise numerical interpolation at your finger tips

…the working navigator's best friend. Use it to extract correct table data for compass deviation, time of sun rise and set, celestial azimuths, pressures from weather maps, humidity data, barometer corrections, and many more examples of tabular data that is still used in the nav station and other engineering applications.  InterpPlus is the only interpolation app that lets you select from units of numbers, angles, or times.


iphone, itouch, ipad


How to use InterpPlus

These days we often have a computer or mobile app to provide computed values of frequently used numerical data. But this is not always the case, especially in the pilothouse or nav station of a vessel underway, where navigators frequently rely on tabulated data.

In some cases we can interpolate the tables adequately by inspection alone (just looking and guessing the intermediate values), but in other cases it is crucial to have the most precise value possible, which calls for a numerical interpolation. InterpPlus is an app that will do this job for you, quickly and precisely, using numbers, angles, or times.

InterpPlus performs a linear interpolation between two sets of numbers as shown in the picture below. We know the value Y1 corresponding to value X1, and we also know the value of Y2 corresponding to the value X2, and we want to know the value Y that corresponds to a value X that we know.

This example would be entered into InterpPlus as:

To input a negative number enter the minus sign (-) from the keyboard as the first entry.

For input other than pure numbers, you can select the units of X or Y independently from the Choose Units screen. The choice below sets one of inputs to Time.

Times are all 24-hr system, where 1:30 PM = 13:30, and a result of 28:32:15 would be converted and displayed as 04:32:15. Time T2 must be later than time T1.

All degree results are 0° to 359°, so a result of 400° would appear as 40°.

Angles and Time input. Degrees, minutes, and seconds, as well as hours, minutes, and seconds are entered using a space as separator. Thus to enter 24° 32' 6.8" you would type [2] [4] [space bar] [3] [2] [space bar] [0] [6] [.] [8]. Note that the leading zero for minutes and seconds less than 10 is required and that minutes or seconds greater than 59 are not accepted.

To enter negative angles or times, enter the minus sign (-) from the keyboard before starting the rest of the input. It is only entered one time.

Here are several examples.

(1) If the air temperature was 36.5° at 2:30 AM and 29.2° at 5:15 AM, at what time was the temperature = 32.0°?


(2) If the time of sunrise at latitude = 10° N is 05:43 and the time of sunrise at 20° N is 05:24, then what is the time of sunrise at latitude 13° 48' N?

You could also enter the data this way and get the same result.


(3a) A ship's deviation table tells how to correct the compass reading to get magnetic reading. Magnetic = Compass + Deviation, with the convention that the label E means deviation is positive, and label W means deviation is negative.

At 045C we know the magnetic heading is 065M, and we know that at 090C the magnetic heading is 101.5M. So what is the magnetic heading at compass heading of 057C?


(3b) Or making it a bit more difficult to do by inspection, use 090C = 101.5M and 135C = 133.8M to find M at C = 100. The answer is 108.7.


(3c) Or you could choose to find deviation at C = 100 based on 090C = 11.5E and 135C = 1.2W. Then entering the West deviation as negative, we get the dev at 100C = 8.7E.

We should mention that the above examples are the common way a compass deviation table is used underway, but in fact these curves are not linear, so the interpolation is an approximation in this application.


(4) If the spacing between the 1024 and the 1020 isobars is 116 pixels on a digital weather map, then what is the pressure at 51 pixels off the 1024 isobar in the direction of the 1020 isobar?

The answer is 1022.2 mb, which is reasonably consistent with the 1023 mb ship report at that location. Doing this along the blue line (spacing = 119.8 px, offset = 45.5 px) gives 1022.5.


(5) If the azimuth angle of the sun (Z) is 162.9° for latitude 36°, and it is 164.1° at latitude 37°, what is the azimuth angle at latitude 36° 47.8'?


(6) A sling psychrometer determines dew point by measuring the wet and dry bulb air temperatures. Tables are often used for the results. Similar tables are used for relative humidity.

At 40° F the dew point is 25° when the wet bulb is 6° lower than the dry bulb, and it is 18° if the wet bulb is 8° lower. So if we found the wet bulb to be 7.2° lower we can interpolate to get a dew point of 20.8° F.


If you have a function that is linear beyond the X1 to X2 range, then InterpPlus can also be used to find values that are outside of this range.


If your have questions or comments about this app or interpolation examples you would like to see referenced, please contact the authors at