I routinely review recent eBird checklists for several of my local patches and recently noticed a few with weather information (e.g., temperature, wind, cloud cover, humidity, etc.) from something called RainCrow.
I have always assumed that scientific researchers can overlay weather information on checklists for their research, but absent manual entry, that such information would not be available to me. Now it is and it is great, and I now use it for virtually all of my new checklists.
RainCrow has a spartan interface (below) and is simple to use, particularly for submitted checklists.
Simply go to the RainCrow page and paste the checklist number (or the URL for the checklist) in the “Checklist ID” box and hit the “Get Weather” button. RainCrow then retrieves the weather information for the location during the time period of the checklist. This is what it looks like:
The resulting weather information can be customized and there is a button to copy to your clipboard, so it can be inserted into the “checklist comments” section of your checklist. That’s it.
And here is a photo from that birding trip, at Tualatin River NWR near Portland, Oregon. It was indeed raining lightly with a temperature of about 38 degrees.
I find the information helpful and insightful, as it can shed light on why some species were or were not seen on that trip. And it can trigger recollection of details about a particular trip.
I was impressed that this tool existed, so I emailed the creator of RainCrow, Parker Davis, to get the story behind its development. He agreed to a short online Q&A and his answers (lightly edited) are below. I thank him for his cooperation.
* * *
Q: What led you to develop RainCrow and then make it freely available online?
A: I generally try to include coarse weather descriptions on most of my checklists. Sometimes I would try to look up historical weather data for checklists after the fact but found most services too clunky and the process too slow to make a habit of it. Also, I’ve been teaching myself web development so RainCrow was a practical way to practice skills and concepts I was learning while also making something useful for myself and the birding community.
Q: In broad terms that non-programmers might understand, what does RainCrow do and how does it do it?
A: Broadly, it gives you weather information for eBird checklists. First, it gathers the location, start time, and duration for a given checklist from eBird. That information is used to request historical weather data from a weather service (currently the OpenWeather API) for the start and end time. This is where the magic happens. OpenWeather has a vast database of weather station data worldwide going back to 1979 which is used to estimate the conditions at the exact latitude, longitude, and time provided. RainCrow then parses and formats the raw weather data to display to the user.
Q: How long did development take and what challenges did you encounter?
A: I got a working version up and running in an afternoon but I kept tinkering and refining it for several months. I’ll spare you the technical details, but each weather API has its own quirks and reveal its own special challenges as you start to work with it. As with most seemingly simple things, the devil is in the details.
Q: How do you envision birders using RainCrow and what has the response from birders been?
A: I see this as a tool for birders and amateur study. As I said, I like including weather observations and appreciate when others do too. It helps flesh out the checklist and account for peculiar presence or absence of birds. A good example is once when I was visiting Wyoming, I found a checklist from a few years earlier that had 750 Horned Larks, 100 Lapland Longspurs, and a Golden Eagle at a nondescript place called “Beef Unit.” When I checked out the spot I mostly saw a few House Sparrows. Because the checklist had no comments, it was pretty mysterious. Of course, I eventually figured out it was the weather – there had been a series of snowstorms that had brought in all the grassland birds. RainCrow makes weather data like this easily accessible.
The response from birders has been pretty incredible! It’s been very gratifying to hear from birders (via email and in-person) about how they like to use RainCrow. Recently, a Quebec birder and fellow coder, Marie-Andrée Boucher-Beaulieu, reached out wanting to help create a French version of RainCrow. Thanks to her hard work, we got that up and running and now adding more languages will mostly be a simple translation task. (If anyone wants to help translate RainCrow into more languages, reach out at firstname.lastname@example.org!). But yeah, I wasn’t sure anyone would use RainCrow, let alone donate time and effort to improve it so that has been very cool.
Q: Do you have a sense for how many people are using RainCrow?
A: I don’t use analytics software or collect any user data, but I do keep my eye on the number of weather requests which generally hovers around several hundred a day. At the moment I have it capped at 1000 daily weather requests because after that I start getting fees from OpenWeather. The commercial weather APIs are both the source of RainCrow’s power and its choke-point. If there are any research institutions that want to collaborate and provide either weather data or financial support to help RainCrow remain functional and sustainable as it grows in popularity, I’m open to it!
Q: Where did the name RainCrow come from?
A: It was first called something boring and prosaic like “eBird weather” but I wanted to make it clear that it has no affiliation with eBird. Rain crow is another name for the Yellow-billed Cuckoo because of its apparent penchant for calling before rain storms. Aside from Yellow-billed Cuckoos being awesome, the colloquial name for a weather forecasting bird seemed like a good fit.
Q: I think this should be a feature on eBird itself. Have the folks at eBird contacted you about RainCrow?
A: Thanks, you’re not the first person to suggest that! I expect the Cornell Lab of Ornithology would want to have more control over the weather data rather than using a commercial API but who knows. I would love to work with the Cornell Lab in some capacity though. Their range of services has totally changed my approach to birding and for the better. Part of the reason I started learning to code in the first place was realizing how all the well-designed digital tools that have come out from the Cornell Lab and others have helped connect me more deeply with the natural world and birding community. I want to help environmental and research organizations create more useful tools and resources.
Q: Should we expect any additional eBird projects from you?
A: I have a few small project ideas using eBird’s API to improve the rare bird alert interface (less scrolling required!) and a simple tool for users to compare year or life lists. My larger, more ambitious goal is to make software that helps people learn bird sounds. There are a lot of great resources out there but I think there is still room for improvement and niches to fill, such as more flexibility and customization with the bird sounds you want to study, interactive spectrograms, and the use of soundscape level recordings to name a few. I think engaging with our sense of hearing is super important and fulfilling. Ear birding was originally what drew me to birds in the first place. I believe there are more engaging and fun ways to hone this skill that a lot people think is inaccessible to them. My blog Birds Make Sound is a good place to keep an eye on for updates.