
quakeAPRS provides near real-time USGS Earthquake Reports to the APRS network. The application connects periodically
(i.e., 30 minute intervals) to the USGS (United States Geological Survey) to get earthquake information. The connection
is made using the UNIX finger quake@gldfs.cr.usgs.gov command. The returned text is parsed to
extract the desired data and put into APRS packet format. These packets are then sent directly to APRServe for
distribution to the worldwide APRS network. No RF is used for this implementation, it is all done via the Internet.
For a description of the earthquake parameters provided by the USGS, see finger
qk_info@gldfs.cr.usgs.gov. The original paper in Adobe pdf format
describing quakeAPRS was published in the 19th ARRL and TAPR Digital Communication Conference Proceedings,
September 2000.
QUAKE(1) User Contributed Perl Documentation QUAKE(1)
quakeAPRS - Perl script to provide quakes data to APRS LAN
quake (execute and get real time earthquakes from USGS)
quake testfile (execute and get earthquakes from prepared file)
This script uses the UNIX "finger" command to get near
real time earthquake data from the USGS. If the magnitude
of the quake is greater than the specified threshold, the
data is modified to the APRS format and sent to the APRS
server for distibution to the APRS network.
The script checks to see who called it, if the user is
"root", then it is assumed to be a cron job and the
location of key files and logs is changed according.
Normally this script is expected to be executed as a cron
job (i.e., 30 minute intevals). Because APRServe does not
buffer APRS packets, quakeAPRS sends the current status
without regard to what has previously been sent to
APRServe.
To expedite testing, a filename supplied as an argurment
in the command line will force the data within the file to
be used rather than connect to the USGS for earthquake
data.
DATE-(UTC)-TIME LAT LON DEP MAG Q COMMENTS
yy/mm/dd hh:mm:ss deg. deg. km
99/11/20 11:23:00 53.39N 163.87W 33.0 3.9Mb B UNIMAK ISLAND REGION
99/11/20 20:29:44 10.18N 70.39W 33.0 4.7Mb B VENEZUELA
99/11/20 21:52:51 30.79S 71.84W 33.0 5.1Mb A NEAR COAST OF CHILE
99/11/20 22:43:25 53.87N 35.76W 10.0 4.6Mb B NORTH ATLANTIC OCEAN
The ICON for a quake is "Q" with "\" to indicate 2nd icon
set. The format:
W9IF-9>APRS:;ddhhmmqMM*DDHHMMzDDMM.HHN\DDDMM.HHWQMag 7.2. Down 10 km.
ddhhmmqMM format where:
dd = day of quake
hh = hour of quake
mm = minute of quake
q = delimiter
MM = quake magnitude without the decimal point
Here are examples:
W9IF>APRS:;291855q35*291855z3604.80N\11736.00WQMag 3.5 Depth 0.6 km CALIF-NEVADA BDR REG
W9IF>APRS:;292127q39*292127z6305.40N\14857.60WQMag 3.9 Depth 33.0 km CENTRAL ALASKA
W9IF>APRS:;292208q41*292208z3603.00N\11736.00WQMag 4.1 Depth 2.7 km CALIF-NEVADA BDR REG
W9IF>APRS:;292244q58*292244z1804.20S\16851.60EQMag 5.8 Depth 33.0 km VANUATU ISLANDS
The USGS messages contain the magnitude and the depth.
Richard Parry, W9IF
2.5 July 15, 2000
Added multiple APRS servers.
Increased the number of APRS servers that are searched
and fixed bugs with this connection algorithm. quakeAPRS
will look for a successful connection once for each APRS
server. If all servers are unavailable, program
terminates.Connection will be attempted next time
quakeAPRS is called by a cron job.
2.4 June 9, 2000
Added backup APRS telnet host.
If telnet connection to primary APRS server fails, send
email notification and then try secondary APRS server. If
secondary fails, send email notification and exit, this is
fatal error.
2.3 March 22, 2000
Added backup "finger" server.
If "finger" request to finger server timesout, send
email notification and get quake information from web
page. The finger server is tried first since it is more
current. The web page is used as a backup.
If "telnet" request to APRS servers fails, send email
notification and exit, this is fatal error.
2.2 March 1, 2000
Completely changed the quakeID labeling, discarded the
QUAKE00001 format. Due to the labeling format change, a
logging quakes previously sent was removed, simplying the
code.
2.1 February 28, 2000
After releasing 2.0, found that design needed to be
changed. This had to be done since using new quake ID
numbers caused the "Station List" window of MacAPRS and
WinAPRS to fill up. This required a signficant change in
the design. A hash was used to keep track of the quakes.
1) Only a new quake gets a new quake ID number.
2) A recent previously sent quake must use the same quake
ID number
3) An previously sent quake not is the log file is old
and is removed
4) Added quake "age" criteria in addition to magnitude
criteria
2.0 January 9, 2000
After releasing version 1.3, we discovered that
APRServe does NOT cache packets (objects). This means
that clients would rarely see an earthquake. To solve
this, this version takes the brute force approach and
sends "all" earthquake packets each time it executes.
Cron job set to execute once each hour.
1.3 December 28, 1999 Initial release.
This version assumed packets (objects) were cached by
APRServe. This version sends earthquake packets sent once
only based on the false assumption that packets are
cached. Based on that, this version it keeps track of
packets it had sent and sends only new earthquake packets
in an effort to reduce traffic. However, this version had
to be abondon since clients would rarely see an
earthquake. Cron job set to execute once each hour.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.