guest@brunotemum.site:~/blog/manaus-calor-arvores$

← back

Is Manaus Getting Hotter? Satellite Data

2026-09-29 · by

[whatsapp]

Aerial view of downtown Manaus, with the Amazonas Theatre in the center and the river in the background, in ASCII art

After a long time away from Manaus, I ended up arriving in the hottest season. And the best way to explain it is that I used to joke that Manaus had only two seasons: summer and hell.

That last visit happened in hell. But I didn't remember the heat being this Dantesque. So the question came up: is Manaus getting hotter? Or have I just gotten unused to the heat?

Only the data could answer that.

And it scared me so much that the project Manaus Odeia Árvores ("Manaus Hates Trees") was born.

The start of the project: why does Manaus have no trees?

Looking at photos from several decades ago, long before the Manaus Free Trade Zone and the city's disorderly growth, I was struck by the clothes people wore. Heavy clothes, more than one layer. Yet no one in the photos looked like they were about to faint.

And the main difference between then and now was the amount of asphalt, concrete and buildings; heat islands that replaced the green areas once interspersed throughout the city. My father used to tell of his childhood, jumping in the igarapé (a small Amazonian stream) and wandering into the woods, and it sounded like a place very far from where I am now. When, in fact, it's less than 5 km from here.

In those same old photos you can also see that avenues and streets were lined with trees. Today, a quick stroll through Google Maps shows the gray immensity Manaus has become.

That was my starting point: Manaus has a terrible relationship with trees. Ah, the irony of being in the heart of the Amazon, the “lungs of the world,” and slowly suffocating!

The data on Manaus's heat and vegetation (and maybe we should talk about sovereignty over it)

I wanted to find a correlation between these two things: temperature and vegetation. The initial idea was to use a long time frame, but the quality and/or availability of the data limited me to two and a half decades (2001-2025).

And my first finding was, to say the least, strange (not to say crazy): Manaus seemed to be cooling down from 2020 on. Even though the researchers, the people and the sweat mark on my chair screamed the opposite.

So I went digging.

It was from that moment (2020) that the satellite's pass, and consequently the surface reading, was moved up by 1 hour. It used to happen at 10:28AM and started happening at 9:19AM. And if you know Manaus, you know the absurd difference in the sun's violence between 9 and 10 a.m.

And here is my point about sovereignty, in case it isn't obvious: not producing data (or not making it easily available) makes our production of knowledge, at best, imprecise. And, at worst, co-opted; in the service of (or at the mercy of) other countries.

So as not to get too technical, I left notes on data origin, process and cleaning at the end. But the point is: thanks to a decision by the American government (the satellite belongs to NASA), the temperature had to be modeled from the change in the satellite's pass, which possibly ended up eliminating extremes (both hot and cold).

The hottest place in Manaus (and the coldest) and why Manaus hates trees

The initial limitation of the available data was extremely frustrating. There I was, eager for a study with 100 years of data on the city, and suddenly I had to settle for 25 years.

Until I found an experimental zone: the Cidade Nova neighborhood. Its big expansion began exactly in the initial period of the data and is consolidating in the final period. If you work in marketing, it's as if Manaus had run a geo holdout: it held back expansion in one area so that, decades later, I could calculate the incrementality of temperature from the reduction of green areas. And how frightening that was.

The region lost 35% of its vegetation over the period and saw temperature rise 3x faster than the city average over the same period. That's 2.9ºC more in just 25 years.

Cidade Nova is relatively close to the Adolpho Ducke Reserve, a preserved area that gets almost 9ºC cooler than Petrópolis, the hottest neighborhood in the city. And that proximity also helped calculate how much hotter a place gets for every kilometer away from a green area: almost +0.4ºC. From the 6th kilometer on, it hits a plateau, which may be because Manaus has a relatively small urban area still surrounded by forest in the rural zone. Or because there is a limit to how much a forest can help.

In short, Manaus will become uninhabitable

Parks without trees (yes, amazing!), parks with trees that don't cast shade (again, amazing!) and constant fires in the dry season both within the urban perimeter and in the “metropolitan area.”

Perhaps a good example of how public administration does (not) think about the climate crisis: after cutting down several trees on an avenue, the city government replied that it would plant many more saplings somewhere else. As if a tree were a bank balance: I took it out of this account, but put it into that one.

In a decade, the forecast is that for 2/3 of the year Manaus will suffer from extreme heat. And that has an impact on both health and the economy. On the economy, of course, because energy gets more expensive, as do various products, whether because drought keeps boats loaded with goods from arriving, or because of higher costs, or because local producers can't produce. But health also pays a high price: cardiovascular risks go up, especially for children and the elderly, and the body can't rest at the end of the day because of the heat.

So Manaus will become uninhabitable. More so for some than for others.

After all, if you can air-condition your whole house and use it all day, heat is not a problem for you. If you have a car with air conditioning and don't depend on sidewalks or public transport to get around, heat is not a problem for you. If the cost of the most expensive energy in Brazil gets even higher, but that represents a fraction of your income, heat is not a problem for you.

The climate catastrophe falling on Manaus is as much social as it is environmental.

The end will be Instagrammable

When I started this project, I only wanted to answer:

  1. Is Manaus getting hotter according to the data?
  2. If so, by how much?

That gave rise to alarming data, a distressing website (Manaus Odeia Árvores) and a text I don't quite know how to end. Because, after all, I just wanted to retrace the project's steps to document the process.

But remembering the future that awaits us turned this text into a long epitaph for Manaus.

May our beautiful sunset, behind the completely dry river and the smoky green, at least keep earning likes stored in some data center.


Thanks to my friend Rick Stanley for the suggestions, the improvements, and for getting outraged with me over Manaus's lack of trees.

For the nerds.

More about the data

Sources

I extracted everything with simple Python scripts and the tables ended up in Parquet, one file per year, for the joins.

Cleaning

Each criterion was applied to the raw data and documented with the number of values affected. Nothing was deleted: the invalid value became null.

  1. Sensor quality: I accepted pixels with flags 0 and 1 and rejected only the “not produced” ones. The stricter mask zeroed out 100% of the nighttime readings, because MOD11A2 almost never flags nighttime LST with the strictest flag.
  2. Plausible range: 58 daytime and 30 nighttime readings outside the range (the most absurd, −7.5 °C) became null. Probably clouds in very cloudy months.
  3. Impossible thermal inversion: 82 cell-months in which the night was more than 5 °C warmer than the day, which doesn't happen in an equatorial city. It was always the daytime reading that was wrong.
  4. Statistical anomaly: values more than 4 standard deviations from the mean of the cell itself in the same calendar month. That was 430 daytime values and 6 nighttime values.

The most instructive case was June 2001. A heat spike showed up in about 30 neighboring cells and the explanation seemed obvious, a real event. It wasn't. June 2001 had a cold record in Manaus and not a single valid nighttime reading across the whole grid: the “spike” came from the few daytime pixels that were left, contaminated by cloud. I only realized this after checking the month against an external source.

Orbital drift and correction

Terra has not received an orbit-correction maneuver since 2020, and the local pass time has been moving earlier. I confirmed this with the product's own Day_view_time band: the daytime pass was stable around 10:28 between 2001 and 2020 (standard deviation of 7 minutes) and dropped to 9:19 in 2025. The surface is still warming up in the morning, so a reading one hour earlier comes out artificially colder.

The first attempt was a linear regression of LST against the pass time, to estimate °C per hour. It didn't work: the result was −0.54 °C/h. In the reference period the time varies too little for the regression to separate the effect of the time.

The way out was to use a real hourly curve. I downloaded hourly air temperature from Open-Meteo (2001-2020) for a point in downtown Manaus and calculated the mean for each hour of the day. It shows that the rise from 9 a.m. to 10 a.m. (+0.90 °C) is much steeper than the one from 2 p.m. to 3 p.m. (−0.19 °C). But that curve is for the air, and what I need to correct is the surface. To convert it, I calibrated an amplification factor k:

k = (LST_day − LST_night) / (Air_day − Air_night)

I use the difference between the two passes that the LST itself already has (~10:28 and ~22:31, mean 2001-2020). The surface varies 5.66 °C between them and the air, about 2.4 °C, which gives k = 2.34. The monthly correction is:

correction = k × (Air at reference hour − Air at actual pass hour)

I kept the raw data and saved the corrected data in separate columns. The effect was large: 2025, which came out as an extreme outlier (−2.9 standard deviations), goes to +1.4, within the normal range. The real drought years (2023 and 2024) become even hotter after the correction, because the change in the reading time was distorting the result.

Limitations

← back