Calculating Locations
Posted: Fri Jul 24, 2020 7:34 pm
Calculating Hourly Positions
In theory, the calculation of a ship's hourly position is easy. You take a starting point, the course steered and distance travelled for each hour, and you arrive at a new position. This process is repeated until, several hours later, the ship will arrive at its next logged position. This rarely happens for many reasons:
- Transcriber error
- Log keeper error
- Drift off course due to wind and current
- Magnetic declination of the compass
- Format errors
- Travelling less than estimated due to passing through ice, towing another vessel, or frequent tacking for various reasons
- Holding a certain a position using the engine while waiting for daylight or weather, exercising at ship drills, swinging the ship to adjust the compass or waiting for a rendezvous.
The chunk is calculated by calculating the hourly positions from the first logged position the next one. The north/south and east/west differences between the calculated final position and the observed position are determined. These differences are divided by the number of hours for the chunk. The chunk is then recalculated and the corrections are applied to each new calculated position. The process is repeated until the final calculated and logged positions are very close. I consider these corrections to be due partly to drift.
If the calculated errors are large, or if the plotted voyage looks unreasonable because the ship is shown as sailing over land, then each of the above reasons must be considered.
Transcriber errors
The actual log page is examined and any error noted is corrected. Transcriber errors occur very infrequently. They are easy to spot and correct and they may include:
- entering an incorrect value, i.e a typo;
- not marking AM or PM with a time so that a PM note shows up in the AM;
- typos such as entering E/12S instead of E1/2S;
- not carefully checking handwriting and so entering NxN instead of NxW;
- neglecting to save a page or entering an incorrect date; or,
- not logging sailing data such as Underway, Stopped or logging bearings to specific locations.
These occur more frequently than transcriber errors, and they are more of a problem. These may include:
- entering an incorrect value for a position (infrequent);
- neglecting to enter the data for a given watch (rare);
- excessive use of VAR for courses;
- not logging changes in course;
- having poor estimates of actual distance travelled;
- not indicating if bearings etc. are True or Magnetic; or,
- giving very few or non-specific bearings to locations.
- Magnetic declination
- For ships using magnetic compasses, the magnetic declination for their logged position and date is calculated using the Geomagnetic Reference Field (IGRF) model for years after 1899 and the GUFM1 model for years before 1900. The declination is applied to the ship's course and to any bearings used to calculate a ship's position.
- Differences between Noon positions that are Observed and calculated by Dead Reckoning
- The differences between the OBS and DR Latitudes and Longitudes are noted. Corrections to the previous 8 AM and 8 PM latitudes and longitudes are calculated and applied. This averages the differences over 24 hours instead of just four.
- Calculator errors
- These may be due to typographical errors or hidden bugs in the calculating program. These calculators have been used and improved for several years now, and they seem very stable.
- Map errors
- Some of the old maps had coastlines and locations misplaced by several miles. This depends on the area and the time. These show up when a ship logs the Lat/Long of a position and notes that it is some distance from a known point. The difference between the logged and the actual position can be calculated.
- Travelling less than logged
- This is usually seen in ice conditions, when the ship is tacking or when the ship is towing another vessel. My calculators can accept a speed ratio, which is then applied to the logged hourly distances. The calculator still displays the North/South and East/West errors, and iterates as necessary. Each chunk is plotted until a reasonable looking path is achieved.
- Holding position
- The ship's distance is changed to zero or to "a". This occurs when a ship stops due to fog or ice or is waiting for a rendezvous. If a ship is drifting, I assign a zero to the speed. If it is anchored, I assign the letter "a" to the speed. My calculator applies drift corrections to distances of zero, but not to a distance of "a".
- The main calculating program flags format errors in course bearings, e.g. NxN, and for any distances that are too large;
- The main calculating program displays the corrections needed to get from one point to another. If these are "large" a warning is given and, if they are too large, an error is displayed and the program stops;
- The voyages are displayed in the OW Voyage Tool and/or Google Earth so they can be inspected visually for errors, such as being on land. Often the shape of the courses will show which channel is likely to have been traversed when the ship is travelling in areas with many islands or channels;
- The ships typically follow fairly set routes when traversing the Inland Passage or other bodies of water; and,
- Magnetic bearings are converted to true bearings using the program GUFM1 or IGRF as appropriate.
- Ordinary. Each position is calculated using the course and distance for the hour. The calculated end point is compared to the actual end point. The difference between the two is broken into an hourly drift to the North and an hourly drift to the East. Each position is then re-calculated using the course, distance and hourly drifts for each hour. The calculated end point is again compared to the actual end point, and the process is repeated until the difference between the two is very small. When the ship is logged as not moving, it may be anchored or just drifting. In the first case the hourly drifts are not applied, but they are applied in the second case. When courses are known to be magnetic, the appropriate magnetic declination is calculated and applied. The calculation is done each time a logged position is given unless the end position is four hours or less from the previous position when a declination was calculated. If a calculated position is more 12 hours from the previous position when a declination was calculated, then a new calculation is made.
- Variable. All the hours in the chunk have a course logged as VAR. The actual bearing and distance between the start and end points is calculated. The actual distance is compared to the total distance logged. The ratio between the two is applied to each of the logged hourly distances, and the actual bearing minus the declination is used for each hour. The hourly positions are then calculated with the ordinary process. The declination is added back in during the calculation of the ordinary process.
- Mixed. The hours that do not have VAR for a course are processed from the start position to get a temporary position. The actual bearing and distance between this point and the end point is calculated. The hourly distances and courses required for the hours with VAR for a course are calculated as for variable chunks. The chunk is then processed as one that is ordinary.
Hours with multiple courses and/or distances are replaced by their vector sums before the voyage calculations are made. Hours with multiple values occur in several ways:
- Pairs of course and distances are given. The vector sum calculation is straight forward;
- Multiple courses but only one distance are given. If the Event log indicates the times of the course changes, then the vector sum is calculated using the minutes for each course travelled as the distance and the actual distance is adjusted by the ratio of the resultant divided by 60. If there are no times of course change given in the Event log, then the hour is divided by the number of course changes, and the minutes for each course are used as above; and,
- Multiple distances but only one course are given. If there is nothing indicated in the Event log, then the distances are just added together.
- Remove the position and calculate the chunk without it using the next logged position as the end point. When a position for the hour with the bad location is determined, as search for locations near that point can be made and perhaps the name of the location can be determined; or,
- A chunk with either no start or no end position is calculated by moving forward from the start or backwards from the end. As above, locations in the vicinity of the calculated position are searched for a likely candidate.
- Geonames. The data for the US and Russia were downloaded. In order to speed searches, the data for the states of California, Oregon, Washington and Alaska were extracted and saved in separate files. In the case of the first two states, data that were well east of the coast were excluded from the files;
- The data for the province of British Columbia were downloaded from the Canadian Ministry of Natural Resources. Data that were well east of the coast were excluded;
- The Dictionary of Alaska Place Names by Donald J. Orth; and
- The Old Weather database of place names.
Each time a chunk has been calculated, the results are displayed on the Old Weather Voyage Calculator or on Google Earth. If any of the positions end up being over land, they are moved so as to be over water. This occurs most often when the ship is travelling along narrow channels or fjords, in an area with many small islands, or when there are frequent uses of VAR for courses.
Although it is difficult to state the average error in the positions calculated, I estimate that errors in the ships pre-1920 are in the order of 10 nautical miles, with smaller errors for ships post 1940.