Leap-second problem with older GPS receivers
This announcement was originally posted in 2005. Some links have been updated and the times used in the examples have been changed to reflect a more recent (June, 2015) leap-second.
New GPS receiver firmware corrects the problem discussed in this article. GPS receivers which run this firmware can be identified by the presence of a clear or white plastic washer behind one of the screws securing the connector to the receiver, as shown in this photograph:
Important notice about Trimble Lassen GPS receivers
There is a timing problem with Trimble Lassen SQ GPS receiver modules, described in this Trimble product advisory.
The Lassen module type has been fitted in the GPS units of most new Guralp Systems digitizers and digital sensors since July 2003.
When unpatched Trimble Lassen SQ and iQ GPS modules are informed of a pending leap second, they incorrectly retard their system time by 1 second. This will cause connected digitizers to re-synchronize to the new time, and hence operate with a 1 second discrepancy until the scheduled leap second actually occurs.
The effect is that, in the intermediate period, the GPS appears to be one second slow, i.e. when the real time is 12:00:00, the GPS reports 11:59:59. The time stamp on all digitized data is correspondingly early, and data in Scream! will appear shifted one second to the left.
Thus, at 23:59:60 on December 31, 2005, when the last [but one] leap second occurred, Trimble units were reporting 23:59:59. They then rolled over to 00:00:00 on January 1, 2006, bringing them back in line with UTC.
With the current firmware, this problem will occur every time there is a leap second in the future. Leap seconds generally occur about once every 18 months, although there have been no leap seconds for the last 6 years [since June 30th, 2015]. To ensure that future leap seconds do not affect your installation, you will need to apply a software patch.
Trimble have released a patch to the Lassen units’ firmware, which you can upload to the units using specialized Trimble software (available on their Web site). Your local distributor or service centre may be able to help you do this, or they may offer a free update service. Please contact them for more details.
If you do not have access to the GPS receivers, the latest digitizer firmware revisions available on this site provide new commands to work around the problem. These commands will work on any unpatched receivers attached to Guralp digitizers. See below for details.
Identifying affected GPS receivers
Guralp Systems have used three suppliers of GPS equipment to date: Trimble, Motorola and Garmin. Only Trimble receivers have been affected by this problem.
In general, the older and larger GPS units contain Motorola or Garmin receivers. Trimble receivers are used in the more compact GPS supplied with the CMG-6TD and other instruments. In the pictures below, the Trimble units are the two to the far right.
|Only the compact GPS type, far right, is affected.|
Identifying affected data from status streams
If you have access to data output by your digitizer on August 3–4, 2005, you can identify the resynchronization event in its status stream.
- Open the status stream to a period just before midnight UTC on August 3, 2005.
- You should see a series of messages as follows:
2005 8 3 23:43:00 o/s= 210 drift= -46 pwm= 8081 Auto 3-D 2005 8 3 23:44:00 o/s= 210 drift= 0 pwm= 8081 Auto 3-D 2005 8 3 23:45:00 o/s= 191 drift= -19 pwm= 8082 Auto 3-D 2005 8 3 23:45:00 External supply : 14.3V Temperature 30.56'C 2005 8 3 23:46:00 o/s= 150 drift= -41 pwm= 8083 Auto 3-D 2005 8 3 23:46:58 Clock check 1 0 2005 8 3 23:47:00 o/s= 150 drift= 0 pwm= 8083 Auto 3-D 2005 8 3 23:47:58 Clock check 2 0 2005 8 3 23:48:00 o/s= 150 drift= 0 pwm= 8083 Auto 2-D 2005 8 3 23:48:58 Clock check 3 0 2005 8 3 23:49:00 o/s= 134 drift= -16 pwm= 8084 Auto 3-D 2005 8 3 23:49:58 Clock check 4 0 2005 8 3 23:49:59 Clock sync'd to Reference =>> 2005 8 3 23:49:59 .. 2005 8 3 23:51:00 Auto 3-D 2005 8 3 23:52:00 Auto 3-D 2005 8 3 23:53:00 o/s= 210 drift= 10 pwm= 8084 Auto 3-D 2005 8 3 23:54:00 o/s= 210 drift= 0 pwm= 8084 Auto 3-D 2005 8 3 23:55:00 o/s= 251 drift= 41 pwm= 8084 Auto 3-D
- If there is a Clock sync'd to Reference message as highlighted above, your GPS receiver is probably affected.
Identifying affected units using a DM24 terminal
Guralp Systems’ Trimble Lassen GPS receivers can be distinguished from other types by their use of the GPZDA NMEA sentence in their output stream. Other types use the GPRMC sentence instead.
If you are using a Guralp DM24 digitizer, either stand-alone or as part of a 3TD, 3ESPD, 40TD or 3ESPCD instrument, instruct it to output NMEA sentences as follows:
- Using Scream! or a DCM, enter the digitizer’s terminal mode. The digitizer will stop sending data whilst you do this.
- Type OK-1 and press ENTER to enable the extended command set.
- Type 2 MON ! (2-space-MON-space-exclamation mark; the space before the last character is important) and press ENTER.Wait for 20 seconds.
- Type 1 MON ! (1-space-MON-space-exclamation mark) and press ENTER.
- Type FLUSH-STATUS and press ENTER.
- Type [SEAL] and press ENTER.
- Leave command mode by closing the terminal window or issuing GO.
Now look at the status stream produced by the digitizer (ending 00.)
Whilst 2 MON ! was active, the digitizer will have output all the NMEA sentences it received—several every second.
The NMEA output from an affected Trimble GPS receiver looks like this:
0 NMEA> $GPZDA,110432.48,17,08,2005,,*66 0 NMEA> $GPGGA,110432.00,5121.6536,N,00109.8180,W,1,06,1.83,00125,M,047,M,,*7A 0 NMEA> $GPGSA,A,3,21,10,28,08,26,29,,,,,,,2.55,1.83,1.78*0B 0 NMEA> $GPGSV,2,1,08,27,39,059,31,21,16,322,36,10,72,211,45,28,29,138,36*78 0 NMEA> $GPGSV,2,2,08,02,07,208,,08,72,084,39,26,33,280,41,29,49,284,43*71 0 NMEA> $GPZDA,110433.47,17,08,2005,,*68 0 NMEA> $GPGGA,110433.00,5121.6536,N,00109.8180,W,1,06,1.83,00125,M,047,M,,*7B 0 NMEA> $GPGSA,A,3,21,10,28,08,26,29,,,,,,,2.55,1.83,1.78*0B 0 NMEA> $GPGSV,2,1,08,27,39,059,32,21,16,322,35,10,72,211,45,28,29,138,36*78 0 NMEA> $GPGSV,2,2,08,02,07,208,,08,72,084,38,26,33,280,41,29,49,284,43*70
The sentences beginning $GPZDA are only produced by these receivers.
The NMEA output from an unaffected Motorola or Garmin GPS receiver looks like this:
0 NMEA> $GPGSV,3,1,10,02,06,207,,03,02,024,,08,71,081,42,10,71,208,36*75 0 NMEA> $GPGSV,3,2,10,13,05,093,,21,16,320,36,26,33,279,43,27,38,059,31*7B 0 NMEA> $GPGSV,3,3,10,28,29,137,31,29,49,284,44,,,,,,,,*76 0 NMEA> $GPRMC,110754,A,5121.6500,N,00109.7975,W,000.0,000.0,170805,003.6,W*7E 0 NMEA> $GPGSA,A,3,,,08,10,,21,26,27,,29,,,3.3,2.7,2.0*35 0 NMEA> $GPGSV,3,1,10,02,06,207,,03,02,024,,08,71,081,42,10,71,208,36*75 0 NMEA> $GPGSV,3,2,10,13,05,093,,21,16,320,36,26,33,279,43,27,38,059,31*7B 0 NMEA> $GPGSV,3,3,10,28,29,137,31,29,49,284,44,,,,,,,,*76 0 NMEA> $GPRMC,110755,A,5121.6499,N,00109.7976,W,000.0,000.0,170805,003.6,W*7D 0 NMEA> $GPGSA,A,3,,,08,10,,21,26,27,,29,,,2.3,2.3,1.0*33
Identifying affected 6TD units
If you have a 6TD instrument which was on at the time of the resynchronization, it will show up in the status stream:
$GPGGA,235758.00,5407.7494,N,16604.2601,W,1,05,2.26,00350,M,009,M,,*74 $GPGSA,A,3,08,10,27,13,29,,,,,,,,3.01,2.26,1.99*02 $GPGSV,2,1,08,03,10,036,26,08,83,131,42,10,62,239,38,27,51,069,42*79 BLK-DATETIME: 08/03/2005 23:58:59 Clock sync'd to GPS 2005 08 03 23:58:53 =>> 2005 08 03 23:58:52_ $GPGSV,2,2,08,28,32,158,,13,15,106,36,26,23,287,30,29,39,289,40*7F $GPZDA,235857.47,03,08,2005,,*67 $GPGGA,235857.00,5407.7489,N,16604.2602,W,1,05,2.23,00350,M,009,M,,*7E $GPGSA,A,3,08,10,27,13,29,,,,,,,,2.99,2.23,2.00*04 $GPGSV,2,1,08,03,10,035,,08,83,128,42,10,62,238,35,27,51,069,43*7B Auto 3-D SV#'s 8 27 13 29 ( 4 ) BLK-DATETIME: 08/03/2005 23:59:52 Auto 3-D SV#'s 8 10 27 13 29 ( 5 ) BLK-DATETIME: 08/03/2005 23:59:55
$GPZDA sentences are not necessarily indicative of a Trimble GPS for the 6TD. Further details on identifying affected 6TD units will follow shortly.
New commands available
The latest digitizer firmware releases include commands to help you work around this problem if you encounter it. These commands are not intended as a permanent fix.
The commands are present in the current revision of the firmware for 5TD, 6TD, DM24, DM16, SAM and CRM units.
To use the commands:
- Manually notify the digitizer of the leap second with the command leapsecond:
ok__DM2400__ 2015 06 30 leapsecond Leap second due 2015 06 30 SQpatch disabled
- Enable the leap second patch.
ok__DM2400__ sqpatch enable
The digitizer will immediately apply the correction, and will use the leapsecond setting to return to normal operation after the leap second occurs.
- You can check the current status with the .sqpatch command.
ok__DM2400__ .sqpatch Leap second due 2015 06 30 SQpatch enabled Last correction 2015 3 7 10:04:49
If the system is not connected to a GPS, or the digitizer has detected a Garmin or Motorola GPS unit which does not require the patch, the report will be
Leap second due 2015 06 30 SQpatch enabled Not run
After the leap second has occurred, digitizers will automatically disable the patch, and .sqpatch will report
Leap second due 2015 06 30 SQpatch disabled Not run
This procedure will work around the GPS problem for the current leap second. If a further leap second is announced, you will need to re-enable the patch with sqpatch. Note however that the GPS signal which causes the problem cannot be predicted by the digitizer, and that between this re-sync and the time you issue sqpatch, data will be produced with the wrong time stamp. Because of this, we recommend that you update or replace all Trimble Lassen GPS units as soon as practicable, and in any case before the next leap second is announced.
For more information on how to view, record and interpret status streams, please refer to our online user manuals.
The Trimble Lassen SQ support page is also available. [Trimble no longer provide these details on their web site.]