I have recently become enamored with the huge diversity of firefly species we have in the southeast United States, particularly in the Great Smoky Mountains near where I live. I was gifted “Fireflies, Glow Worms, and Lightning Bugs” by Lynn Frierson Faust and have been using it to learn how to identify species by location, time of year, and flash train appearance.

The time of year is a little tricky because a fixed date isn’t a perfect predictor of firefly emergence. Fireflies are the adult stage of several different species of beetles, and the development of the larva into their adult phase doesn’t take exactly the same amount of time every year – it’s more closely related the accumulated heat so far in the year. The development many kinds of crops are also better represented by this sort of cumulative temperature model, so we handily already have a unit for it; the Growing Degree Day (GDD). For fireflies, the modified Growing Degree Day is a more accurate model of the emergence timeline. The GDD is calculated by taking the average of the high and low temperature for each day and comparing that average to a baseline temperature (usually 50F). The GDD is then the difference between the average and the base temperature, which is added to the previous GDD. The mGDD is the same procedure, but if the low is under the reference temperature it is replaced by the reference temperature and if the high is above a limit temperature, it is replaced by that limit temperature. This compensates for the fact that development is slowed by both high and low temperatures.

With the flexible date ranges and so many species (over 25 in my area), it can be difficult to keep everything straight, so I like to use technology to make my life a bit easier. I made a spreadsheet of the mGDD ranges for each species, which are thoughtfully provided in Lynn Faust’s excellent guide book and various papers. Then I wrote a little python program to query the NOAA weather station nearest to me for the year-to-date temperature data and use it to calculate the current cumulative mGDD and predict the future trend. It then compares that value to the species-specific ranges and outputs the most likely species for the time of year.

I’ve now modified that script to run for a selection of different stations every day and upload the result to the website as a JSON file. This page then parses that file with some HTML code to display the result. In the unlikely event that someone other than my friends and family has stumbled onto this webpage, I hope you like it! I’ve included all the species in the book which live in Tennessee and have lanterns as adults. There are even more species if you don’t care about those constraints, but I had to stop somewhere.