;(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

Vulcão capaz de gerar tsunami no Brasil entra em alerta amarelo de erupção

Carlos Madeiro

Colaboração para o UOL, em Maceió

16/09/2021 04h00Atualizada em 17/09/2021 08h48

Autoridades espanholas elevaram para o nível amarelo o alerta de erupção do vulcão Cumbre Vieja, localizado na ilha de La Palma, na costa do continente africano. Segundo pesquisadores, o vulcão poderia provocar um tsunami que atingiria as Américas, com maior impacto sobre os litorais das regiões Norte e Nordeste do Brasil.

A informação da elevação de nível do vulcão foi dada pelo portal MetSul Meteorologia e confirmada pelo UOL.

O vulcão está adormecido há décadas e começou a dar sinais de atividade moderada nos últimos dias.

"Ele não estava dando sinais de erupção, mas agora ele chegou a um segundo nível. São quatro níveis de alerta. Ele pode vir a ter uma erupção, mas não significa que essa erupção vai gerar um tsunami, mas é uma possibilidade, mesmo que mínima", explica o pesquisador do Instituto de Ciências do Mar da UFC (Universidade Federal do Ceará), Carlos Teixeira.

A hipótese de que um tsunami poderia ser causado pela erupção do Cumbre Vieja já foi confirmada em várias pesquisas sobre o tema. "Existem diversos estudos já publicados sobre essa possibilidade de tsunami. É uma hipótese real, e ela aconteceria caso houvesse uma erupção explosiva", conta Carlos Teixeira.

Segundo análise feita em estudo produzido no Departamento de Geologia da UFPR (Universidade Federal do Paraná) a Ilha de La Palma fica a 4.462 km de São Luís.

"Estima-se que a próxima erupção poderá desestabilizar a encosta da ilha devido a fatores como declividade do vulcão, volume de material mobilizado, fatores climáticos e principalmente, a uma zona de fraqueza existente que facilitará a ocorrência do movimento de massa", afirma pesquisa feita na UFPR pelo geólogo Mauro Gustavo Resse Filho, que pesquisou o tema e publicou TCC (Trabalho de Conclusão de Curso) em 2017.

Este movimento, por sua vez, poderá ser capaz de gerar um tsunami que percorrerá distâncias transatlânticas e que atingirá praticamente todos os países banhados pelo oceano Atlântico. A partir da modelagem de tal evento, obteve-se a informação que toda a costa brasileira será afetada
Mauro Resse Filho

Riscos

Carlos Teixeira diz que não há motivo para preocupação no momento. "Se essa possibilidade de erupção ocorrer, não significa que vai ser explosiva; se for, não quer dizer que vai chegar aqui com ondas de oito, dez metros; pode chegar aqui bem menor", explica.

A pergunta que a gente faz é: será que o Brasil —e não só o Brasil, porque ele pode chegar no Caribe e nos EUA— está preparado para um evento desses?

Segundo o site Metsul, a região de La Palma enfrenta um aumento significativo nos movimentos sísmicos desde sábado, "acompanhando a tendência de alta desde 2017 e ganhou maior força desde 2020".

"Nos últimos dias, além de aumentar o volume de movimentos sísmicos, sua intensidade aumentou com abalos que tiveram magnitude superior a 3. A profundidade dos epicentros também diminuiu, em média, de 30 para 12 quilômetros. Só ontem foram mais de 100 tremores e um teve profundidade de apenas 4 quilômetros", informa.