Coats and scarves have come out prematurely in Brazil, as the south of the tropical country experiences a record-breaking cold spell, a menace for both homeless people and crops.

With 1.4 degrees Celsius, the capital Brasilia recorded the coldest temperature in its history on Thursday, with more than a month to go until the official start of winter.

On the website of the Inmet meteorological agency, the entire southern half of a map of Brazil is colored orange and captioned: "Cold wave (danger)."

In Sao Paulo, Latin America's largest city, the thermometer stood at 6.6 C on Wednesday morning, a record for May since 1990. The "feels like" temperature was -4 C.

A 66-year-old homeless man died in Sao Paulo on Wednesday after falling ill in a food distribution line. According to local media, he had spent the night in the street.

Sao Paulo City Hall this week announced 2,000 additional shelter beds, bringing total capacity to about 17,000.

But Brazil's economic capital has nearly 32,000 homeless people, almost a third more than three years ago, before the coronavirus pandemic.

In the southern state of Santa Catarina, which recorded temperatures under 2 C for several days, snow has enthralled tourists.

According to Estael Sias of the Metsul meteorological agency, the "atypical cold wave" was due to Cyclone Yakecan affecting southern Brazil and Uruguay.

"This cyclone is an anomaly, which certainly fits in with extreme events related to climate change," she said.

Inmet has warned of "possible consequences" of the cold snap and frost on agriculture in one of the world's biggest food producers.