;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Chuvas torrenciais serão cada vez mais frequentes, dizem meteorologistas

22.fev.23 - Movimentação de moradores por rua enlameada na Barra do Sahy, em São Sebastião, litoral norte de SP - WERTHER SANTANA/ESTADÃO CONTEÚDO
22.fev.23 - Movimentação de moradores por rua enlameada na Barra do Sahy, em São Sebastião, litoral norte de SP Imagem: WERTHER SANTANA/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

25/02/2023 04h00

As chuvas torrenciais que provocaram a morte de mais de 50 pessoas no litoral norte de São Paulo devem ser cada vez mais frequentes no Brasil e no mundo graças ao aquecimento global, afirmam meteorologistas consultados pelo UOL.

As chuvas que ultraaram os 600 milímetros no litoral paulista são o que os especialistas chamam de "evento extremo", uma ocorrência climática excepcional com graves consequências ambientais. A quantidade de chuva foi considerada um novo recorde no Brasil, superando a tragédia em Petrópolis no ano ado.

Nas praias de São Paulo o evento extremo foi a chuva forte, mas em outras regiões do Brasil e do mundo esse evento pode ser uma seca prolongada, um frio muito forte ou calor excessivo, como vem acontecendo na Europa nos últimos verões.

No litoral paulista, o evento extraordinário é conhecido como chuva orográfica, quando o relevo da região interfere nas precipitações.

"Foi a combinação de uma frente fria que parou em uma área com topografia de costa [montanhas] que serviu de parede. A umidade do mar acabou estagnada e começou a chuva fora do padrão", explica o meteorologista Olívio Bahia, do Inmet (Instituto Nacional de Meteorologia).

"A maioria dos extremos climáticos está ligada às mudanças provocadas pelo aquecimento global", diz o meteorologista Marcelo Seluchi, do Cemaden (Centro Nacional de Monitoramento e Alertas de Desastres Naturais).

"Eventos desse tipo vão se tornar cada vez mais frequentes", afirma. "Não conseguimos prever quando ou onde, mas esse tipo de evento certamente vai aumentar em todo o mundo."

Mais desastres devem acontecer no Brasil, concorda o meteorologista Felipe Vemado, porque "dentro de um contexto de aquecimento global há mais energia termodinâmica [troca de calor], o que aumenta a frequência de eventos extremos".

Seluchi explica que essa troca excessiva de calor aumenta a umidade do ar e as variações de temperatura, "causando contrastes que se combinam de tal forma que provocam esses eventos".

sahy - AMANDA PEROBELLI/REUTERS - AMANDA PEROBELLI/REUTERS
21.fev.23 - Diversos deslizamentos foram registrados na Barra do Sahy, em São Sebastião, litoral norte de São Paulo
Imagem: AMANDA PEROBELLI/REUTERS

É irreversível?

O grande culpado é o homem, dizem os meteorologistas.

"A ação humana gera impacto na atmosfera, seja por aumento dos gases de efeito estufa, seja pela mudança da condição de solo que faz a superfície absorver mais calor, tanto em escala local quanto em escala global", diz Vemado, que é doutor em meteorologia pela USP. "Já foi demonstrado que as ilhas de calor na região metropolitana de São Paulo podem intensificar os temporais de fim de tarde durante o verão."

O desmatamento e queima de combustíveis fósseis já aqueceram o planeta em 1,2ºC em relação aos níveis pré-industriais, segundo o último relatório do IPCC ( Intergovernamental de Mudanças Climáticas), da ONU. Se essas emissões não cessarem, o mundo romperá a marca de 1,5ºC em 2030.

Se isso acontecer, diz o relatório, o aquecimento global será irreversível, com a repetição cada vez mais frequente de fortes ondas de frio, calor, inundação e secas prolongadas.

sahy - Rovena Rosa/ABr - Rovena Rosa/ABr
Barra do Sahy, em São Sebastião, foi uma das regiões mais atingidas pelos temporais
Imagem: Rovena Rosa/ABr

Os pobres são os principais afetados. De 2010 a 2020, diz o relatório, "a mortalidade humana por inundações, secas e tempestades foi 15 vezes maior em regiões altamente vulneráveis" em comparação com regiões mais ricas.

Meteorologista do MetSul, Estael Sias aconselha "a população e o poder público a se prepararem melhor para lidar com isso".

Seluchi, do Semaden, concorda. "Planejamento urbano é fundamental. Se ninguém estivesse morando nas encostas de São Sebastião, provavelmente ninguém teria morrido. Ninguém morreu em Bertioga, onde não tem pessoas morando em encosta."

É preciso diminuir a vulnerabilidade com planejamento urbano e fiscalização, uma política de longo prazo. Já as cidades mais vulneráveis precisam ter um plano de contingência para saber o que fazer quando acontecer o evento extremo: qual é a rota de fuga? Onde ficam os abrigos?
Marcelo Seluchi, meteorologista