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

Letícia Piccolotto

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

IA que prevê chuva, alerta por SMS e mais: como enfrentar eventos extremos

Eventos climáticos extremos serão cada vez mais comuns no Brasil e no mundo - Micah Tindell/ Unsplash
Eventos climáticos extremos serão cada vez mais comuns no Brasil e no mundo Imagem: Micah Tindell/ Unsplash

04/03/2023 04h00

Fevereiro marcou tragicamente a nossa história. As chuvas entre os dias 18 e 19 no litoral norte de São Paulo representam o maior volume em 24 horas já registrado na história do país, segundo o Centro Nacional de Monitoramento e Alertas de Desastres Naturais (Cemaden) e do Instituto Nacional de Meteorologia (Inmet). O número de mortes ou de 60.

Carlos Nobre, climatologista aposentado do Inpe (Instituto Nacional de Pesquisas Espaciais) e um dos criadores do Centro Nacional de Monitoramento e Alertas de Desastres Naturais (Cemaden), reforça o alerta que a ciência vem dando há anos.

Segundo o pesquisador, eventos extremos como as chuvas que causam a tragédia vivida no Carnaval no litoral paulista irão se repetir de forma cada vez mais recorrente:

Não podemos pensar que vai voltar para trás, que foi uma coisa muito anômala, algo que nunca mais vai acontecer. Ao longo dos próximos anos, os recordes serão batidos no Brasil e no mundo. Esses eventos vão se tornar mais comuns"

Infelizmente, vemos esta constatação incansavelmente nos noticiários.

  • O volume que caiu em Bertioga, 683 milímetros acumulados no período, é o maior registro no sistema meteorológico brasileiro
  • Em São Sebastião, foram 627 mm em 24 horas. O volume foi mais que o dobro do esperado para o mês de fevereiro inteiro
  • Na tragédia de Petrópolis, em 2022, foram registrados 534,4 milímetros
  • Já o recorde do Inmet, de 1991, da cidade de Florianópolis, é de 404,8 mm em 24 horas
  • Em 2022, o Brasil registrou o maior número de eventos extremos, segundo registros históricos

(Cada milímetro de chuva equivale a um litro de água despejado por uma área de 1 metro quadrado)

Já não há dúvidas que a intensidade e frequência dessas tragédias tendem a aumentar em virtude das mudanças climáticas.

Considerando essa realidade, é fundamental que a capacidade de resposta para eventos climáticos extremos seja urgentemente aprimorada.

Autoridades e organismos públicos precisam traçar e implementar estratégias integradas de enfrentamento às mudanças climáticas, que levem em consideração medidas de mitigação —redução das emissões de gases de efeito estufa (GEE) para evitar ou reduzir os seus impactos— e, principalmente em casos como o de São Paulo, medidas de adaptação.

A Política Nacional sobre Mudança do Clima define adaptação como as "iniciativas e medidas para reduzir a vulnerabilidade dos sistemas naturais e humanos frente aos efeitos atuais e esperados da mudança do clima".

As estratégias de adaptação buscam reduzir o risco por meio da redução da vulnerabilidade/exposição de um sistema, criando estratégias que aumentem a resiliência e capacidade de resposta.

Ela é necessária independentemente do quanto conseguirmos reduzir de emissões de GEE, pois as emissões históricas já alteraram o clima de maneira que já começamos a viver as suas consequências.

No Brasil, segundo um estudo realizado pelo Centro Nacional de Monitoramento e Alertas de Desastres Naturais (Cemaden), há mais de 8,2 milhões de brasileiros vivendo em áreas de risco de deslizamento de terra e enxurradas. Desse total, mais de 2,5 milhões estão em áreas de alto risco e muita vulnerabilidade.

Dessa forma, é necessário que tanto medidas mais complexas —como programas de moradia popular— sejam desenvolvidas, assim como medidas adaptativas mais 'simples', mas também efetivas sejam feitas —como a instalação de sirenes e treinamentos de emergência em áreas de risco.

A tecnologia pode e deve ser uma importante aliada nas estratégias de adaptação, para evitarmos que eventos extremos como esses continuem a causar tantas perdas.

E há hoje empresas e startups que já oferecem soluções tecnológicas ao poder público visando a prevenção de tragédias.

Como é o caso da MeteoIA. Fundada em 2018, a startup é especializada no desenvolvimento de modelos de inteligência artificial que aprimoram a previsão das condições meteorológicas.

Segundo seus fundadores, a chance de acerto de eventos secos e chuvosos a partir da terceira semana de uso do sistema é de 63%.

Em 2021, a MeteoIA representou o Brasil na COP26 dentro do programa Desafio Net Zero 2050, iniciativa que mapeou soluções para mitigar os impactos das mudanças climáticas.

Outro exemplo de empresa que cria soluções também contando com inteligência artificial, é a Fractal Engenharia.

A empresa é especializada em soluções de engenharia para gestão de recursos hídricos, e oferece serviços de prevenção a desastres naturais voltados para os setores hidrelétrico e de mineração, na segurança de barragens, por exemplo.

Tem destaque o Sistema de Previsão de Eventos Hidrológicos Críticos (SPEHC), que utiliza dados de hidrometria e informações de modelos de previsão de chuva e de radares meteorológicos. Segundo a empresa, isso permite que a Fractal consiga realizar previsões de vazões de chuva em tempo real, gerando dados precisos com até 15 dias de antecedência.

De soluções tecnológicas avançadas ou com a utilização de ferramentas simples, como o disparo de SMS pela Defesa Civil ao cidadão indicando riscos na região, o fato é que a criação de políticas públicas integradas e tecnológicas de adaptação às mudanças climáticas precisam e devem ser postas como prioridade governamental.

Caso contrário, situações e cenas como as vistas no Carnaval no litoral norte de São Paulo serão recorrentes.