I am excited to announce that I have just released the database configuration and intake code for my APRS mapping project, aprsdb, on Github. It runs on Python 3 and Postgres with the PostGIS extension. So far I have it working on Linux (Debian Stretch), but the tools are all cross-platform so it presumably could be made to work on other operating systems.
APRS, the automatic packet reporting system, is an amateur protocol which exchanges SMS-like messages that often include location data. Because these packets include information about where they came from and how they traveled, analysis of this data can yield insight into propagation conditions. This project was significantly inspired by the work of Jon, NG0E, on the Mountain Lake APRS website, but removes the need for any internet connection. All the data collection and analysis is entirely local, and unlike the APRS Internet Service, no duplicate-filtering is performed.
Work is still underway to create a reasonably portable web front-end for it. I have a proof-of-concept version working that currently displays some static data from mid-July, 2018, when VHF radio propagation was extremely good in the Upper Midwest.
Amateur radio operators maintain a network of digital radio stations that can send position data, text messages, and a few other types of data over a local or regional scale. This network is termed the Automated Packet Reporting System (APRS), and in the US it operates primarily on a frequency of 144.390 MHz at a speed of 1200 baud. While much of the on-air network feels very much like the late 1980s, the stations are increasingly connected to the internet. With the internet, data can be aggregated (e.g. this map) or sent over a longer distance than it would over VHF, enabling stations on opposite ends of the country and around the world to communicate via these text messages.
A few years ago, I found that VHF radio operators were using the APRS network as a beacon system to track propagation. One user created a map showing the lengths of paths that packets were taking in the network, and highlighted areas where the hops were longer than usual. It’s a neat map and a useful tool, but it requires an internet connection and its reliance on the APRS Internet System (APRS-IS) may [probably?] exclude or filter out entirely usable data—APRS-IS was not intended for propagation studies.
For the last few months, I have been working on a project to do a better job analyzing propagation using APRS data. The data that matter are local—packets heard here at my station—and no packets should be filtered out as duplicates because they took a different path through the network. Once the data are collected, they can be analyzed to find general network statistics, identify misconfigured stations, and spatial analysis can be conducted to show propagation.
Although my project is very much a work in progress, the rest of this post outlines the general plan for development and the current status.
Data collection begins with the antenna and radio, with the analog audio being sent to a computer (raspberry pi). Direwolf, an open-source packet decoder, is used to convert the audio signal into text. I use APRS-python (with some modifications that have yet to be incorporated by the main developer) to parse the text into more useful key:value data structures. Once the data are parsed, they are stored in a Postgres database using the Psycopg2 interface.
The storage database uses Postgres with PostGIS extensions for spatial functionality. When I started the project I used a very simple database schema, but it was not very convenient or efficient to query. I am now working on redesigning the database schema to match the different packet types and sub-packet types. Although it will increase the complexity of the code to get data into the database, I believe it will make querying the data far more efficient and convenient. Once I have the schema redesigned and functional, I intend to upload the code to reproduce the database, as well as the custom Python code, to Github under an open-source license.
I have done some preliminary analysis of test datasets using QGIS, and have a view or two created for common queries. One of these analyses is shown in the picture at the top of this post, with paths being drawn more thickly where traffic is higher and redder where the distance between endpoints is longer. Rewriting the database schema will break the query code I have written, so further development of the querying and visualizations will be deferred until the new schema is in place.
Eventually I am hoping to have a web interface (e.g. GeoMoose) for real-time visualization and analysis of the data. I have the GeoMoose test dataset working on my project computer, and look forward to having the radio data to display instead.
Yesterday, a big snowstorm dumped about 30 cm (12″) of snow on Minneapolis, and high winds blew that snow around. On my way home from lab, the train worked well, but I definitely chose correctly when I decided to walk home from the train (2-3 km) rather than take the bus. The roads were a mess, but walking wasn’t too bad.
When that much snow falls that quickly, skiing can be much better for getting around than driving. After dinner I hopped on the skis to go tour around the neighborhood and enjoy being on snow for the first time this winter. I’d barely skied half a block when a car got stuck turning and I helped get them through the intersection.
Skiing around the lake was wonderful. There’s something magical about the quiet of lots of new-fallen snow, and even though the skiing was slow-going, it was fun. However, with it being dark and my being on skis for the first time this winter, I didn’t bring a camera with me.
This morning I went out again and took the camera, because there was a lot of neat stuff to be seen. After helping two more cars get unstuck, I made it to the lake. There were tracks: skis (see photo above), boots, snowshoes, and dogs, plus tire tracks in the roads. High winds had also led to drifting, so there were eolian features as well: mini-dunes, scoops, and even some parabolic or blowout features.
Scoops form when wind has to travel around an object such as a tree, rock, or the legs of a park bench. Because the wind velocity increases on the leading edge of the feature, snow or sand get removed from in front of the obstruction.
The lake is a great place to look for eolian features, because its flat surface without plants or other obstructions provides a large windy area. Miniature dunes formed, with steep faces to windward, and shallower slopes on the leeward side. In the photo of the lake above, the wind was traveling left-to-right. It also features a pair of cross-country ski tracks!
One of the neat features was this blowout on the south (leeward) side of the lake. Last night it seemed to be a fairly parabolic feature, but today it was clearly a blowout. The grasses slowed the wind and provided a place for snow to accumulate, while the gap between grass tussocks was a high-wind area. Scouring is evident near the gap, but deposition follows not far downwind, and the parabolic shape of the features is visible.
There were a few birds out and about this morning, too! A white-breasted nuthatch was foraging in a tree above me, and several other nuthatches were fluttering around nearby.
It was a fun expedition out skiing, and I was happy to take some pictures along the way. The snowplows were busy while I was out, and several of the streets had been cleared before I got back home, so there were fewer cars to help out of the deep snow.
Unlike some other years, this year I had a packed day of conferring on the last day. I started out in the posters, because one of the Heard Island presentations was there. On my way to the poster I came across one of the geology professors from my college, and I talked with him a bit about my research. It’s possible I will end up on their seminar schedule. Upon arriving at the poster I was looking for, I learned about the helium isotope composition of bubbles near Heard Island and the McDonald Islands: they’re relatively mantle-like by McDonald, and likely more methane-seeps by Heard.
From there it was on to the exhibit hall, to see a few friends from grad school and make sure I hadn’t missed anything too exciting at the booths. I checked out a few of the aeronomy posters (about Earth’s ionosphere) to see if I could find any good ideas for speakers at the amateur radio clubs I am now in leadership positions in.
Having had enough of the posters, I decided to go to the session on indigenous knowledge and climate change. It was a particularly interesting session, and I wish more of the conference attendees had been there.
Finally, it was time for lunch with a friend from grad school, then off to the airport to head home.
Today was an exhausting day. This morning I presented my poster on the retreat of Stephenson Glacier, Heard Island, and was talking with people at my poster much of the four-hour session. It was very valuable to discuss my research, get input on some ideas, and to come up with a few new ideas for further work to do after this gets published. One thing which became quite apparent was the utility of social media in getting word out about my poster. Several people came by to see what I was doing as a fairly direct result of my engagement in social media, particularly on Twitter.
I also continued to come across people I knew from grad school or undergrad. While it’s a bit awkward to say hi to someone you can’t quite place in the different context, it’s fun to see them regardless.
After my presentation, I spent the afternoon wandering around the exhibit hall and, to a lesser extent, the rest of the poster hall. Day four of AGU often brings with it a combination of excitement for new ideas and projects with the exhaustion of having been walking around a lot.
At the end of the day, I headed over to catch a few planetary science talks. The first one, by Morgan Cable of JPL, was a very interesting presentation about lab-simulated dissolution and co-crystallization of organic compounds like might be found on Titan. Had my computer had batteries and if the wifi was likely to work, I probably would have live-tweeted that talk. It was one of the clearest talks I’ve seen this year. The second (and final) talk was by Sarah Horst. She introduced us to several ocean-bearing worlds that have organic compounds (Titan, Enceladus, and Europa), the extent of work that has been done to understand those organic compounds (surprisingly little), and reminded us that there are no current plans to go back to Titan or Enceladus. There is definitely some good data to be had there if we can get an appropriate mass spectrometer and other analytical equipment to the planetary bodies.
In the evening I joined other former and current students from my undergraduate institution for a mini-reunion, which was fun. Tomorrow is the last day, so I have also been trying to make sure I schedule times to see people before we all leave.
What a day! I fortuitously came across quite a few people I know from either my undergraduate institution or my PhD work, and managed to catch up with some of them. I explored about a third of the exhibits in the exhibit hall, and learned about cool new instrumentation, including the Raspberry Shake.
In the afternoon, I went to a volcanology session about flood basalts and large igneous provinces, and it was riveting. Loyc Vanderkluysen is working on a new classification scheme for the Deccan Traps, which cover an area roughly the size of Texas and may have covered three times that area when they were first erupted. These lavas, found in modern-day India, have formation boundaries defined by their chemistry, but the choice of chemistry to use for classification and differentiation seems like it could be improved by modern data analysis techniques.
But the talk that really stood out was by Courtney Sprain, talking about dating the Deccan Traps. Papers published in 2015, one using U/Pb dating (Schoene et al.) and the other using Ar/Ar dating (Renne et al.), concluded that the Deccan Traps were erupted almost entirely between 67 Ma (Mega-annum, million years ago) and 65 Ma, right across the Cretaceous-Paleogene (K-Pg) boundary. However, the middle portion of the sequence was not dated sufficiently precisely to test whether the Chixulub impact caused increased volcanism in the Deccan Traps. In this new work, many additional samples have been analyzed with high-precision Ar/Ar using many multi-grain step-heating experiments. As a result, the data are now sufficient to test whether volcanism changed or increased at the same time as the impact. The K-Pg boundary occurs right at an important formation boundary, and Nd isotopes shift there (toward less crust-like, more mantle-like ratios) as well. Feeder dikes, which lower in the sequence were generally oriented in one direction, became randomly oriented above the chronological boundary.
All of which is to say, the new data are of a quality where it would be possible to falsify the hypothesis that the impact caused increased volcanism, but they do not falsify that hypothesis. Indeed, they are quite consistent with it. Wow!
Claims of impact-triggered flood basalts are rather radical, and need some solid data to back them up. The speakers in these sessions were clear to say that this isn’t by any means sufficient yet to declare the new paradigm accepted and move on. Still, this was a pretty big test of the hypothesis, and it came through unscathed.
In the morning, I will be presenting my poster on the retreat of Stephenson Glacier, Heard Island (poster C41B-1222). This conference has been keeping me very busy, and it looks like that will continue through the time I leave. I’m very excited about what I’ve been learning, the people I’ve been talking with, and the ideas that are coming together as a result of this conference. The long conference center (it’s nearly 1 km end-to-end) is keeping me in good shape, too!
The second full day of the American Geophysical Union conference is always an interesting one, as the exhibit hall opens. Vendors, funding agencies, publishers, universities, and other organizations are present at booths, filling a huge hall. It’s a great place to go to see the latest and greatest technology, such as the 4 meter long flume table from Emriver. I took a picture, but forgot to bring my card reader so I have no way to transfer it off of my camera. It shall have to suffice for now to say that it was stunning.
In addition to some very interesting discussions with people at posters, I went to the Volcanology, Geochemistry, and Petrology award lectures. The second lecture, by Craig Manning, was a fairly clear discussion about the inadequacies of previous thinking about thermodynamics in hot (900–1100 °C), high-pressure (5–10 kbar [I think I have that pressure right]) hydrothermal systems (e.g. subduction zones) and some new experimental results and conceptual models which seem to fit better.
My mind was blown fairly early in the talk when he pointed out that under those temperature and pressure conditions, neutral pH for water is around 4. I also haven’t thought enough about ionic liquids (e.g. molten sodium chloride), or the ternary phase diagram of H2O, CO2, and NaCl, particularly not under high temperature/pressure. However, in the thermodynamic sense these systems do have some predictable behaviors when thought of this way, and the data seem to fit those predictions. The fluids have a tendency to become quickly rich in silica (SiO2), which gives rise to the quartz veins commonly found in metamorphic rocks. In these models it is not hard to then transition from silica-in-salt-solution toward partial melting of a type found in metamorphic and volcanic rocks.
The afternoon held interesting talks on isotope systems of relevance to volcanic measurements (estimating sulfur emissions and speciation), as well as good discussions with people I met in the hallways or poster sessions. Later in the afternoon I came across a former labmate, and it was good to catch up with her for a while and discuss the various challenges of being an early-career scientist. Dinner, debrief, and further discussion of early-career issues with my conference buddy capped off my day.
Tomorrow has yet more interesting talks and posters, and there are a few people on my to-talk-with list who I will need to track down.