Chasing A Butterfly Down Its Changing Migration Route
Each year, painted lady butterflies migrate thousands of miles between Africa and Europe. As the environment changes, so do their journeys.
Each year, painted lady butterflies migrate thousands of miles between Africa and Europe. As the environment changes, so do their journeys.
A painted lady butterfly waiting on a rocky hilltop for a mate. Credit: Lucas Foglia
To find a painted lady butterfly, you have to think like one. During the day, they look for blooming flowers. And at sunset, they gather on higher ground to mate.
Fine art photographer Lucas Foglia figured out how to find the butterflies with one question: “If I asked teenagers where they go on dates, then they would tell me about the high hilltop with a beautiful view of the sunset,” he says. “And that’s where you’d find the butterflies.”
Foglia figured this out while tagging along with Dr. Gerard Talavera, an entomologist at the Institut Botànic de Barcelona, from 2021 to 2023. He and some other scientists were collecting painted lady butterflies across Europe, the Middle East, and Africa to map how their long migration unfolds across the continents. At first, Foglia’s plan was to learn about and photograph these migratory butterflies while the world was opening up again in the wake of COVID-19. But soon, it became a project that showed how humans’ and the butterflies’ journeys felt intertwined.
These parallels between humans and painted lady butterflies come together in Foglia’s new photography book, Constant Bloom. It documents his travels over three years across 18 countries learning about painted lady butterflies, the people they encounter, and the researchers unraveling their mysteries.
Long before he was seeking out the best makeout spots in different countries, Foglia was captivated by the painted lady butterfly’s free-spirited movement.
Over the course of a year, and the span of up to ten generations, hundreds of thousands of painted ladies will cross from south of the Sahara desert in Africa into Northern Europe and back again. It’s a common butterfly species, with established populations in North America, Africa, Europe, and Asia, and they have distinct migrations in different parts of the world. But pinning down their exact migratory patterns beyond broad strokes remains difficult.
Our understanding of how painted ladies migrate between Africa and Europe could be compared to a pulsing heartbeat, Talavera says. Massive populations move north and south on a relatively predictable timeline, but knowing exactly where groups of them come from and end up every year is more complicated.
“People try to explain, ‘Oh, these butterflies from France are coming from Algeria.’ No. They are coming from Algeria, and from Spain, and from the Netherlands, and from [so on],” he says.
The butterflies aren’t driven to migrate to specific places like monarchs are, for example. Instead, they move as resources like food, suitable habitats, and host plants where they lay eggs become available. As the environment changes, painted lady butterflies change their course.
Climate factors, like temperature, rainfall, and winds, can dramatically change how many painted ladies migrate to Northern Europe in the summer. Talavera says that although he doesn’t know for sure how it will affect the butterflies, climate change is an “increasing source of pressure” for them. One possibility is that migration distances could be shortened or lengthened as seasonal changes vary along the route.
Foglia witnessed the butterflies finding homes in human-maintained gardens, farms, and parks when wild blooms failed due to climate change. “Painted lady butterflies and many other species are now depending on us when wildflowers are not blooming as they should,” he says.
Despite these challenges, painted ladies aren’t declining like many other species. They’re still thriving worldwide precisely because of their strong capacity to adapt—a quality that humans share, Foglia observed.
As the butterflies cross borders to get to more hospitable habitats, scientists must do the same to study their journeys. Whether it’s in the form of collaborating with scientists across borders or traveling there themselves, Talavera says it’s an essential part of the research. “Monitoring migratory butterflies cannot be done locally,” he says.
To expand his network of collaborators, in 2013, Talavera started the Worldwide Painted Lady Butterfly Migration Project, an international science effort between professional researchers and citizen scientists. While interested amateurs record their observations and collect butterfly data, professional members of the project have created detailed migration maps, explored the painted ladies’ genomes, and made connections between their genetics and their behavior.
In 2024, Talavera and his colleagues proved that a group of the butterflies had managed to cross the Atlantic Ocean. He has also proven that the painted lady migration across Africa and Europe occurs on a species-wide scale over multiple generations of butterflies. In the coming years, Talavera says he wants to use the monitoring systems he’s already spent a decade developing to understand more about the genetic underpinnings of this migration, see how their models can improve our understanding of other migratory animals, and raise awareness about the ecological importance of the phenomenon.
To Foglia, witnessing this insect’s migration recalls how humans also cross the same borders as they adapt to world events like war and climate change.
While he was photographing the butterflies making their way north from Tunisia, he met a teenager who was planning to make the same journey across the Mediterranean sea into Italy. As Foglia followed the butterflies north, they kept in touch.
“So many people I met were deciding whether to stay or to leave and cross what is now the deadliest human migration route in the world,” Foglia says. “At the same time … millions of painted lady butterflies were crossing the same sea.”
Emma Lee Gometz is Science Friday’s Digital Producer of Engagement. She writes SciFri’s “Science Goes To The Movies” series and is a journalist and illustrator based in Queens, NY.
Cookie | Duration | Description |
---|---|---|
_abck | 1 year | This cookie is used to detect and defend when a client attempt to replay a cookie.This cookie manages the interaction with online bots and takes the appropriate actions. |
ASP.NET_SessionId | session | Issued by Microsoft's ASP.NET Application, this cookie stores session data during a user's website visit. |
AWSALBCORS | 7 days | This cookie is managed by Amazon Web Services and is used for load balancing. |
bm_sz | 4 hours | This cookie is set by the provider Akamai Bot Manager. This cookie is used to manage the interaction with the online bots. It also helps in fraud preventions |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
csrftoken | past | This cookie is associated with Django web development platform for python. Used to help protect the website against Cross-Site Request Forgery attacks |
JSESSIONID | session | The JSESSIONID cookie is used by New Relic to store a session identifier so that New Relic can monitor session counts for an application. |
nlbi_972453 | session | A load balancing cookie set to ensure requests by a client are sent to the same origin server. |
PHPSESSID | session | This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed. |
TiPMix | 1 hour | The TiPMix cookie is set by Azure to determine which web server the users must be directed to. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
visid_incap_972453 | 1 year | SiteLock sets this cookie to provide cloud-based website security services. |
X-Mapping-fjhppofk | session | This cookie is used for load balancing purposes. The cookie does not store any personally identifiable data. |
x-ms-routing-name | 1 hour | Azure sets this cookie for routing production traffic by specifying the production slot. |
Cookie | Duration | Description |
---|---|---|
__cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
bcookie | 2 years | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
bscookie | 2 years | LinkedIn sets this cookie to store performed actions on the website. |
lang | session | LinkedIn sets this cookie to remember a user's language setting. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
S | 1 hour | Used by Yahoo to provide ads, content or analytics. |
sp_landing | 1 day | The sp_landing is set by Spotify to implement audio content from Spotify on the website and also registers information on user interaction related to the audio content. |
sp_t | 1 year | The sp_t cookie is set by Spotify to implement audio content from Spotify on the website and also registers information on user interaction related to the audio content. |
UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
Cookie | Duration | Description |
---|---|---|
__jid | 30 minutes | Cookie used to remember the user's Disqus login credentials across websites that use Disqus. |
_gat | 1 minute | This cookie is installed by Google Universal Analytics to restrain request rate and thus limit the collection of data on high traffic sites. |
_gat_UA-28243511-22 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
AWSALB | 7 days | AWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target. |
countryCode | session | This cookie is used for storing country code selected from country selector. |
Cookie | Duration | Description |
---|---|---|
_fbp | 3 months | This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website. |
fr | 3 months | Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin. |
IDE | 1 year 24 days | Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile. |
NID | 6 months | NID cookie, set by Google, is used for advertising purposes; to limit the number of times the user sees an ad, to mute unwanted ads, and to measure the effectiveness of ads. |
personalization_id | 2 years | Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting. |
test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
vglnk.Agent.p | 1 year | VigLink sets this cookie to track the user behaviour and also limit the ads displayed, in order to ensure relevant advertising. |
vglnk.PartnerRfsh.p | 1 year | VigLink sets this cookie to show users relevant advertisements and also limit the number of adverts that are shown to them. |
VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
Cookie | Duration | Description |
---|---|---|
_dc_gtm_UA-28243511-20 | 1 minute | No description |
abtest-identifier | 1 year | No description |
AnalyticsSyncHistory | 1 month | No description |
ARRAffinityCU | session | No description available. |
ccc | 1 month | No description |
COMPASS | 1 hour | No description |
cookies.js_dtest | session | No description |
debug | never | No description available. |
donation-identifier | 1 year | No description |
f | never | No description available. |
GFE_RTT | 5 minutes | No description available. |
incap_ses_1185_2233503 | session | No description |
incap_ses_1185_823975 | session | No description |
incap_ses_1185_972453 | session | No description |
incap_ses_1319_2233503 | session | No description |
incap_ses_1319_823975 | session | No description |
incap_ses_1319_972453 | session | No description |
incap_ses_1364_2233503 | session | No description |
incap_ses_1364_823975 | session | No description |
incap_ses_1364_972453 | session | No description |
incap_ses_1580_2233503 | session | No description |
incap_ses_1580_823975 | session | No description |
incap_ses_1580_972453 | session | No description |
incap_ses_198_2233503 | session | No description |
incap_ses_198_823975 | session | No description |
incap_ses_198_972453 | session | No description |
incap_ses_340_2233503 | session | No description |
incap_ses_340_823975 | session | No description |
incap_ses_340_972453 | session | No description |
incap_ses_374_2233503 | session | No description |
incap_ses_374_823975 | session | No description |
incap_ses_374_972453 | session | No description |
incap_ses_375_2233503 | session | No description |
incap_ses_375_823975 | session | No description |
incap_ses_375_972453 | session | No description |
incap_ses_455_2233503 | session | No description |
incap_ses_455_823975 | session | No description |
incap_ses_455_972453 | session | No description |
incap_ses_8076_2233503 | session | No description |
incap_ses_8076_823975 | session | No description |
incap_ses_8076_972453 | session | No description |
incap_ses_867_2233503 | session | No description |
incap_ses_867_823975 | session | No description |
incap_ses_867_972453 | session | No description |
incap_ses_9117_2233503 | session | No description |
incap_ses_9117_823975 | session | No description |
incap_ses_9117_972453 | session | No description |
li_gc | 2 years | No description |
loglevel | never | No description available. |
msToken | 10 days | No description |